首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PUT方法mongoose模型

PUT方法mongoose模型
EN

Stack Overflow用户
提问于 2016-06-20 23:09:12
回答 1查看 61关注 0票数 2

有这段代码。想要去chanche领域。

代码语言:javascript
复制
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:未定义check

EN

回答 1

Stack Overflow用户

发布于 2016-06-20 23:14:02

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

只有在出现实际错误时才会返回错误。如果没有发现入口,那么findById将只返回一个空的对象{}。所以,如果你尝试检查一个空对象的字段,你会得到一个错误。

尝试:

代码语言:javascript
复制
  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.");
      }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37925912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档