提问者:小点点

MySQL和fs.writeFile(节点JS)有问题


我在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文件中:

“[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]\n[对象对象]。

期待一个回应。 提前感谢:)


共1个答案

匿名用户

只需使用results.map(result=>json.stringify(result)).join(“\n”)而不是json.stringify(results.join(“\n”))

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