我在使用Node JS MySQL和fs时遇到了麻烦。
我正在尝试将数据从数据库提取到本地txt
文件中。
对于数据库中的每个ID,我希望它像\n
我的代码:
connection.query(`SELECT * FROM appmsg`, function(error, results, fields) {
try{
fs.writeFile('./commands/utils/apps.txt', JSON.stringify(results.join("\n")), function (err) {
if(err) throw err;
console.log("Saved!");
})
}
catch(err){
console.log(err)
}
})
在txt
文件中:
"[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]\n[object Object]"
期待答复。 在此先感谢:)
答案 0 :(得分:0)
只需使用results.map(result => JSON.stringify(result)).join("\n")
而不是JSON.stringify(results.join("\n"))
。
此问题是因为您将数组转换为字符串results.join("\n")
。因此,当您将数组转换为字符串时,他会将每个对象转换为字符串,因此它将为[object Object]
。您需要将每个对象转换为JSON,然后将所有数组转换为字符串。可以根据需要保存数据。