在nodejs中使用writeFile时,文件无法创建

时间:2014-08-22 10:10:59

标签: javascript node.js file-io

以下是我在事件的更新方法中的代码 -

Event.findOneAndUpdate({_id: req.body._id}, updateData, function(err, event){
  if (err) {
    res.send({"message": "Something went wrong!", "err": err, "status_code": "500"});
  }
  else {
    console.log("----I AM IN ELSE STATEMENT----");
    // WRITE DATA TO LOG FILE 
    fs.writeFile("/logs/update-event.txt", event, function(err) {
      if(err) throw err;
        res.send({"message": "success", "data": event, "status_code": "200"});
    });
  }
});

以下是我在更新时遇到的错误 -

/home/myproject/controllers/events.js:71
          if(err) throw err;
                        ^
Error: ENOENT, open '/logs/update-event.txt'

虽然如果我使用以下代码,它正在文件夹的根目录创建文件 -

fs.writeFile("update-event.txt", event, function(err) { 

我尝试手动创建logs命名文件夹,但没有运气。

让我知道我在这里做错了什么。

1 个答案:

答案 0 :(得分:1)

这显然意味着,/logs/目录不存在:ENOENT =错误无条目。

可能是日志目录的错误路径。 /logs位于文件系统的根目录中,而不是您的应用程序。否则使用logs/update-event.txt w / o前导/