Javascript 如何将包含多个对象的JSON数据中的值插入MySQL中的行中?

Javascript 如何将包含多个对象的JSON数据中的值插入MySQL中的行中?,javascript,mysql,sql,node.js,json,Javascript,Mysql,Sql,Node.js,Json,我可以用一个对象将JSON数据中的值存储到MySQL数据库中,如下所示: var data = '{"sensorvalue":"96"}' const jsdata = JSON.parse(data); connection.query("INSERT INTO `nodes`(`sensorvalue`) VALUES ('"+jsdata.sensorvalue+"')", (err, res) =>

我可以用一个对象将JSON数据中的值存储到MySQL数据库中,如下所示:

var data = '{"sensorvalue":"96"}'

const jsdata = JSON.parse(data);
connection.query("INSERT INTO `nodes`(`sensorvalue`) VALUES ('"+jsdata.sensorvalue+"')", (err, res) => {
    console.log("counter record inserted");  
}); 
输出:

身份证件 传感器值 1. 96
这是一个数组,你需要在上面循环

您也不应该将值直接替换到SQL中,而应该使用参数化查询

const jsArray = JSON.parse(data);
jsArray.forEach(jsdata =>
  connection.query("INSERT INTO `nodes`(`sensorvalue`) VALUES (?)", [jsdata.sensorvalue], (err, res) => {
    console.log("counter record inserted");
  })
);
node.js MySQL连接器还允许您使用二维数组一次在多行中插入值。看

[{“sensorvalue”:“96”},{“sensorvalue”:“98”}]
中,您没有看到对象数组吗?
const sensorValues = JSON.parse(data).map(el => [el.sensorvalue]);
connection.query("INSERT INTO `nodes`(`sensorvalue`) VALUES ?", sensorValues, (err, res) => {
  console.log(`${sensorValues.length} counter records inserted`);
});