我创建了一个angularjs webapp,它允许您与大型JSON对象进行交互以更改屏幕配置。例如,单击按钮并...
{'open': true, 'color': 'red', 'beef': 'jerky'}
更改为
{'open': true, 'color': 'blue', 'beef': 'cake'}
...您所做的更改会反映在屏幕上的可见配置中。
我做了一个后端登录,允许人们在mySQL数据库中创建一个与他们的电子邮件相关联的帐户及其所有数据。
目标是用户创建JSON对象的配置,“保存”它,然后能够以后访问它。使用angularjs,我可能会把所有这些JSON解析成一个巨大的表,但是......
对于我来说,将一大块JSON作为字符串存储在一列中会更好吗?这是不好的做法吗?理论上我是否会限制一个表格单元格中允许的stringlength?
答案 0 :(得分:1)
对于动态配置JSON对象,强烈建议您解析它并将其存储为字符串。
当然,您可以在一个单元格中存储的字符串的最大长度,但它非常大(任何巨大的JSON对象都适合)。
希望这有帮助
答案 1 :(得分:1)
试图帮助......
您可以使用several NoSQL database types。我建议您使用文档存储数据库。我相信最常用的文档存储数据库是MongoDB
以下示例将JSON数据存储到MongoDB中。
//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');
//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;
// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';
// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
//HURRAY!! We are connected. :)
console.log('Connection established to', url);
// Get the documents collection
var collection = db.collection('users');
//Create some users
var user1 = {name: 'modulus admin', age: 42, roles: ['admin', 'moderator', 'user']};
var user2 = {name: 'modulus user', age: 22, roles: ['user']};
var user3 = {name: 'modulus super admin', age: 92, roles: ['super-admin', 'admin', 'moderator', 'user']};
// Insert some users
collection.insert([user1, user2, user3], function (err, result) {
if (err) {
console.log(err);
} else {
console.log('Inserted %d documents into the "users" collection. The documents inserted with "_id" are:', result.length, result);
}
//Close connection
db.close();
});
}
});