Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在似乎不需要SQL的地方存储JSON的最佳方法_Mysql_Sql_Angularjs_Json - Fatal编程技术网

Mysql 在似乎不需要SQL的地方存储JSON的最佳方法

Mysql 在似乎不需要SQL的地方存储JSON的最佳方法,mysql,sql,angularjs,json,Mysql,Sql,Angularjs,Json,我创建了一个angularjs webapp,它允许您与一个大型JSON对象交互以更改屏幕配置。例如,单击一个按钮并 {'open': true, 'color': 'red', 'beef': 'jerky'} 更改为 {'open': true, 'color': 'blue', 'beef': 'cake'} 。。。您所做的更改将反映在屏幕上的可见配置中 我已经做了一个后端登录,它允许人们创建一个链接到他们的电子邮件的帐户,并将他们的所有数据保存在mySQL数据库中 目标是用户将创

我创建了一个angularjs webapp,它允许您与一个大型JSON对象交互以更改屏幕配置。例如,单击一个按钮并

{'open': true, 'color': 'red', 'beef': 'jerky'} 
更改为

{'open': true, 'color': 'blue', 'beef': 'cake'} 
。。。您所做的更改将反映在屏幕上的可见配置中

我已经做了一个后端登录,它允许人们创建一个链接到他们的电子邮件的帐户,并将他们的所有数据保存在mySQL数据库中

目标是用户将创建JSON对象的配置,“保存”它,然后能够稍后访问它。使用angularjs,我大概可以将所有这些JSON解析成一个巨大的表,但是

  • 我不需要用SQL查询JSON(数据只被前端代码作为一个大块使用)
  • 随着时间的推移,我可能会改变JSON的结构/其中有多少个选项,我想这会使一个巨大的自定义表成为必须改变的额外内容

对我来说,将那大块JSON作为字符串存储在一列中会更好吗?这是坏习惯吗?理论上,我会限制一个表单元格中允许的字符串长度吗?

对于动态配置JSON对象,强烈建议您解析它并将其存储为字符串

当然,一个单元格中可以存储的字符串有一个最大长度,但是它非常大(任何巨大的JSON对象都适合)


希望这对动态配置JSON对象有所帮助,强烈建议您解析它并将其存储为字符串

当然,一个单元格中可以存储的字符串有一个最大长度,但是它非常大(任何巨大的JSON对象都适合)

希望这有助于

尝试帮助

有很多你可以用的。我建议您使用文档库数据库。我相信最常用的文档存储数据库是

下面的示例将JSON数据存储到MongoDB中

试图帮助

有很多你可以用的。我建议您使用文档库数据库。我相信最常用的文档存储数据库是

下面的示例将JSON数据存储到MongoDB中


感谢回复@David H.,所以你同意将其转换为一个字符串并存储在单个单元格中是可以接受的?太棒了,让字符串化开始吧!感谢回复@David H.,所以你同意将其转换为一个字符串并存储在单个单元格中是可以接受的?太棒了,让字符串化开始吧!Cheers@valdek,因为我已经为我的用户准备了一个mySQL数据库(部分原因是我仍然在学习SQL),我觉得添加一个额外形式的数据库(noSQL)可能会使事情变得太复杂,无法满足我的需要。在问这个问题之前,我曾经研究过noSQL,我很感谢你的建议。也许如果这不起作用,我会按你的方式试试。再次感谢。Cheers@valdek,因为我已经为我的用户准备了一个mySQL数据库(部分原因是我仍然在学习SQL),我觉得添加一个额外形式的数据库(noSQL)可能会使事情变得太复杂,无法满足我的需要。我在问这个问题之前曾经研究过noSQL,我很感谢你的建议。也许如果这不起作用,我会按你的方式试试。再次感谢。
//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();
    });
  }
});