MySQL和fs.writeFile(Node JS)遇到问题

时间:2020-07-22 14:23:39

标签: node.js fs node-mysql

我在使用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]"

期待答复。 在此先感谢:)

1 个答案:

答案 0 :(得分:0)

只需使用results.map(result => JSON.stringify(result)).join("\n")而不是JSON.stringify(results.join("\n"))

此问题是因为您将数组转换为字符串results.join("\n")。因此,当您将数组转换为字符串时,他会将每个对象转换为字符串,因此它将为[object Object]。您需要将每个对象转换为JSON,然后将所有数组转换为字符串。可以根据需要保存数据。