每个未执行功能的蒙哥人

时间:2019-03-28 00:31:13

标签: node.js mongodb mongoose

我想为每个迟到的任务创建一个日志文档。

const dte = new Date();
  Task.find()
    .where("status")
    .ne("Done", "Stuck", "Late")
    .where("date")
    .lt(dte)
    .updateMany({ status: "Late" })
    .map(task => {
      const newLog = new Log({
        message: `${moment(dte).format("LT")}: The task: ${
          department.name
        } is delayed`,
        type: "late"
      });

      newLog.save();
    });

我希望在数据库上创建日志,我得到的错误消息是.map()不是函数。

1 个答案:

答案 0 :(得分:0)

您可以这样做。

const dte = new Date();
Task.find({
  status: {
  $ne: ["Done", "Stuck", "Late"]
},
 date: {
   $lt: dte
 }
}).then((tasks) => {

   // loop through tasks
   tasks.forEach(async (task) => {
      const newLog = new Log({
        message: `${moment(dte).format("LT")}: The task: ${
        department.name
        } is delayed`,
        type: "late"
      });

      await newLog.save();

      // update task
      task.set({ status: "Late" });
      await task.save();
 });
})