我的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' });
})
});
答案 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
值进行操作。