【发布时间】:2017-07-10 18:31:20
【问题描述】:
下面的代码返回“用户已删除”,即使用户已被删除。在这种情况下,我更愿意抛出 404,但我想尽可能少地查询数据库。
有没有办法获得userNotFound(见下文)而无需手动检查用户在删除之前是否存在?也许我错过了remove() 的一个功能或替代功能。
var itemId = 123;
Item.remove({id: itemId}, function(err) {
if (err) {
return res.json({success: false, msg: 'Cannot remove item'});
}
// !!!
if (userNotFound) {
return res.status(404).json({success: false, msg: 'User not found'});
}
// /!!!
res.json({success: true, msg: 'User deleted.'});
});
提前致谢!
【问题讨论】:
-
您错过的功能实际上是检查返回值。您还接受了错误的答案,因为您应该避免在不需要时实际检索文档的开销。
标签: node.js mongodb express mongoose database