如何在mongoose查询方法中返回错误?

时间:2017-05-05 10:52:20

标签: node.js mongodb mongoose mongoose-schema

我刚开始使用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 });
    });

1 个答案:

答案 0 :(得分:1)

return stackTrace == null;