删除记录时,删除承诺返回未定义。 (NodeJS,Express,Mongo / Monk)

时间:2020-06-20 06:50:37

标签: node.js mongodb monk

我正在尝试编写一个从前端获取键的功能,检查该键是否与后端的键匹配,如果是,则删除该记录,然后向前端发送状态消息。

问题是,我的.then语句中不断出现“未定义”字样。

这是我的index.js文件:

const jobs = require("./db/models/jobs");

app.delete("/jobs/:id", (req, res) => {
  var uid = req.params.id;
  var enteredPassword = req.body.enteredPassword;

  jobs.removeWithPassword(uid, enteredPassword)
    .then((job) => {
      res.json(200);
      res.json(job);
    })
    .catch((error) => {
      res.status(500);
      res.json(error);
    });
});

这是我的job.js文件,其中写入了remove方法:

const jobs = db.get("jobs");

function removeWithPassword(job_uid, enteredPassword) {
  jobs.find({ _id: job_uid })
    .then(result => {
      const job = result[0];

      if (job.password === enteredPassword) {
        console.log("the password matches");
        jobs.remove({ _id: ObjectId(job_uid) })
          .then(result => result);
        return result;
      } else {
        console.log("the password doesn't match");
      }
  });
}

module.exports = {
  removeWithPassword
};

0 个答案:

没有答案