0
我刚刚开始使用猫鼬查询方法,他们真的很酷。我做了一个查询方法来了解对象的所有权。如果是,那么它是他自己的,那么对象的值将被显示,否则它应该执行一个错误,如返回一些错误,而不是别的。如何在猫鼬查询方法中返回错误?
someSchema.query.isOwner = function(user) {
if (user.admin)
return this;
/* I know this will not work please suggesta solution for this too */
else if (user._id === iShouldbeAbleToAccessTheObjectHere._id)
return this;
else
// Put this into the error of exec
return new Error('Permission denied!');
};
// This is how I'll use it
SomeModel
.findById(someId)
.isOwner(currentUser)
.exec((err, result) => {
if (err)
res.json({ error : err });
res.json({ data : result });
});
有什么办法,我可以设置回调的错误? –
@Johnfoo我已经更新了答案。请检查:) –
简单易行,非常感谢您的帮助! –