Sev*_*eva 4 javascript mongoose mongodb node.js
码:
function deleteItem(req, res) {
Goods.findByIdAndRemove(req.params.id, (err) => {
if (err) {
res.send({
success: false,
error: err
});
} else {
res.send({
success: true,
item: req.params.id
});
}
})
}
Run Code Online (Sandbox Code Playgroud)
如果我传递一个_id刚刚删除的文件 - Mongoose成功"删除"它.
如果我传递一个_id从未存在过的文件,比如591dad9a1583ea0d1065d633- 它也会"删除"它.
只有在传递垃圾时才会抛出错误a34pnv530eargdzbs.
有人可以告诉我,发生了什么事,拜托?:)
如果您查看相关的Mongoose文档,您将找到其背后的原因:
查找匹配的文档,将其删除,将找到的文档(如果有)传递给回调. http://mongoosejs.com/docs/api.html#model_Model.findByIdAndRemove
如果您的数据库中不存在该文档,则Mongoose不会抛出错误.你应该检查回调的第二个参数:
Goods.findByIdAndRemove(req.params.id, function(err, doc) {
if(err || !doc) {
// Show an error page
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
733 次 |
| 最近记录: |