运行Console.log(myjsonobject)
时,我有一个在Node.js中输出的JSON:
{
"results":
[
"id": 'xxxxxx',
"size": 'xxxxx',
"data":
[ {
"date": 'xxxxx',
"age": 'xxxx',
"grade": 'xxxxxx'
},
{
"date": 'xxxxx',
"age": 'xxxx',
"grade": 'xxxxxx'
}
.... // many more data again
]
]
"total": 'xxxxxxx',
"group": 'xxxxxxx'
}
我是Node.js的新手,并且很难在MySQL数据库中插入myjsonobject
。
答案 0 :(得分:2)
是的,您可以在mysql中插入嵌套对象。请按照以下步骤操作:
1)您必须创建一个包含JSON列的表MySQL JSON Docs
CREATE TABLE myjson (jdoc JSON);
2)连接到mysql,我正在使用mysql驱动程序,安装它:
npm install mysql
3)纠正你的代码: 例如,在第3行,对象数组必须使用[{}]而不是[]。
3)正确地将数据插入数据库:
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "youruser",
password: "yourpassword",
database: "yourdb"
});
//Your JSON nested object;
var my_json_nested_object = {
"results":
[{ // <--
"id": "xxxxxx",
"size": "xxxxx",
"data":
[ {
"date": "xxxxx",
"age": "xxxx",
"grade": "xxxxxx"
},
{
"date": "xxxxx",
"age": "xxxx",
"grade": "xxxxxx"
}
]
}], // <-- use {}
"total": "xxxxxxx",
"group": "xxxxxxx"
};
//The JSON.stringify() method converts a JavaScript value to a JSON string
var sql = "INSERT INTO myjson VALUES ('" +
JSON.stringify(my_json_nested_object) + "');";
con.query(sql, function (err, results,fields) {
if (err)
throw err;
console.log(results); //or console.log(JSON.stringify(results));
con.end();
});
答案 1 :(得分:-1)
Mysql
在不同的表之间有关系。与MongoDB
不同,没有直接的对象Inseration。
所以如果你想要Mysql
,你只需要在表中用外键创建关系,否则改为NoSql
数据库。