Mr.*_* B. 6 database mongoose mongodb node.js express
即使用户已被删除,我的代码也会返回"用户已删除".在这种情况下,我宁愿抛出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.'});
});
Run Code Online (Sandbox Code Playgroud)
提前致谢!
上述方法的问题userNotFound
始终是undefined
因为您没有在回调参数中定义它.最好使用该findOneAndRemove()
功能,以便您可以返回找到的文档:
var itemId = 123;
Item.findOneAndRemove({ id: itemId })
.exec(function(err, item) {
if (err) {
return res.json({success: false, msg: 'Cannot remove item'});
}
if (!item) {
return res.status(404).json({success: false, msg: 'User not found'});
}
res.json({success: true, msg: 'User deleted.'});
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5268 次 |
最近记录: |