Node.js Mongodb:findByIdAndUpdate没有返回正确的错误

时间:2018-10-15 10:01:55

标签: node.js mongodb

我的put请求在应返回错误时返回成功。我的MongoDb中甚至还没有User集合(因此也没有有效的ID)。但是,当我打电话时,它返回success。为什么findByIdAndUpdate不返回任何错误?

    app.put(path, (req, res) => {
        User.findByIdAndUpdate(req.body.id, req.body, {}, (err, doc) => {
            if (err) return res.status(400).send(err);
            res.status(200).send({ response: 'success' });
        })
    });

1 个答案:

答案 0 :(得分:1)

尝试一下:

app.put(path, (req, res) => {
  User.findByIdAndUpdate(req.body.id, req.body, {}, (err, doc) => {
    if (err) {
      return res.status(400).send(err);
    } else {
        if(doc){
            return res.status(200).send({ response: 'success' });
        } else {
            return res.status(400).send({response:'false',message:'Not Found!'});
        }
    }
  });
});

默认情况下,当没有找到匹配的文档时,猫鼬返回null,我们需要使用该null值进行操作。