NodeJS Json数据没有完全插入到数据库中
2天试图找到我的问题的解决方案。 我从网站请求数据(json)。 他们返回罚款和json是有效的,但是当我尝试将他们插入数据库几乎10%不插入。 我不知道该怎么办,我甚至尝试过使用相同的结果。 任何帮助世界表示感谢。NodeJS Json数据没有完全插入到数据库中
这是选择数据属性后的json ouptut var result = obj.data; pastebin
var request = require("request");  var fs = require('fs');  
var sleep = require('system-sleep');  
var mysql = require('mysql');  
var connection = mysql.createConnection({  
    host: 'localhost',  
    user: 'root',  
    password: '',  
    database: 'feeds',  
    timezone: 'Z'  
});  
request.post({  
    url: "xxx",  
    headers: {  
     "Content-Type": "application/json"  
    },  
    body: '{"xx": "true", "xxx": "true"}'  
}, function(error, response, body) {  
    var obj = JSON.parse(body);  
    var result = obj.data;  
    console.log(result);  
    for (var i = 0; i < result.length; i++) {  
     var object = result[i];  
     for (property in object) {  
      var value = object[property];  
      var pid, pname;  
      if (property == "id") {  
       pid = value;  
      }  
      if (property == "name") {  
       pname = value;  
      }  
      if (property == "xxxxx") {}  
      if (property == "xxxxxxxx") {  
       connection.query('INSERT INTO tournaments(id, name) VALUES (' + pid + ', "' + pname + '")');  
      }  
     }  
    }  
});
回答:
欢迎SO。
可能是您错过了一个错误。您请求插入,但随后放开。 connection.query允许一个函数作为它的第二个参数,并且这是一个回调。看看下面的行
connection.query('SELECT * FROM some_table', (err, rows) => {     // do something with the results here 
}); 
对你来说会是这个样子:
connection.query('INSERT INTO tournaments(id, name) VALUES (' + pid + ', "' + pname + '")', function(err, rows){     console.log('Successful write', rows); 
    console.error('Error! This did not write because: ', err); 
}) 
你应该CONSOLE.LOG都犯错而行,每次这样叫。现在你会看到为什么一些结果没有写入数据库,并且它们会显示为错误。
以上是 NodeJS Json数据没有完全插入到数据库中 的全部内容, 来源链接: utcz.com/qa/257856.html







