我刚开始使用mongoose查询方法,他们真的很酷。我提出了一种查询对象所有权的查询方法。如果它是他自己的,那么将显示该对象的值,否则它应该做一个错误,比如返回一些错误而不是其他错误。
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 });
});
答案 0 :(得分:1)
return stackTrace == null;