javascript - PUT方法 Mongoose 模型

标签 javascript node.js mongodb mongoose

有这个代码。想禅车赤田。

apiRoutes.put('/intake/:id', function(req, res)  {
      var id = req.params.id;
      Intake.findById(id, function(err, intake) {
          if (err)res.send(err);
            if (intake.check == false) {intake.check = true;}
            else {intake.check = false;}
            intake.save(function(err) {
            if (err) {return res.json({success: false, msg: 'Error'});}
          res.json({success: true, msg: 'Successful update check state.'});
        });
      })
    });

收到这个错误 如果(检查!= false){intake.check = false;} ^

ReferenceError: 检查未定义

最佳答案

您可能找不到具有该 id 的摄入量。您应该首先检查是否返回了任何 intake。在它周围包裹一个 if(intake) 以捕获该异常。

仅当存在实际错误时才会返回错误。如果未找到摄入量,则 findById 将只返回一个空对象 {}。因此,如果您尝试检查空对象的字段,将会出现错误。

尝试:

  Intake.findById(id, function(err, intake) {
      if (err) {res.send(err); return;}
      if (intake) {
        if (intake.check == false) {intake.check = true;}
        else {intake.check = false;}
      } else {
         res.send("No intake found.");
      }

关于javascript - PUT方法 Mongoose 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37925912/

相关文章:

javascript - onclick模态按钮调用php函数

node.js - 无法使用可执行 compass 找到 gem compass (>= 0.a)

node.js - 删除嵌套数组中的 id

mongodb - 打印 MongoDB 集合数据 - GoLang,结果不符合预期

javascript - 为什么我的 pg-query 结果抛出 TypeError

javascript - 更改 Canvas 中每个矩形的颜色

javascript - 将随机字符串转换为十六进制颜色

node.js - 从 NodeJS 异步返回值

java - 如何查找符合多个条件的文档

mongodb - Grails Mongodb插件在插件中不可见