在Mongoose中处理错误

时间:2013-01-14 17:16:13

标签: node.js mongoose restify

我正在使用RestifyMongoose创建API,而且我对这两者都是全新的。我似乎无法找出处理Mongoose / Node中错误的正确方法。

截至目前,我正在尝试这样做:

Submission.findById(req.params.submission_id, function(err, data) {

    if (err) 
        return next(err);

    res.send(data);

});

我正在尝试对此调用GET(对于不存在的用户)。而不是发送回简单的错误消息,它会导致我的整个节点应用程序失败。我对返回下一个用户(错误)以及应该做什么感到有点困惑。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

找不到匹配项的findById查询不是Mongoose级别的错误,因此如果您希望以这种方式对其进行处理,则必须自己执行此操作:

Submission.findById(req.params.submission_id, function(err, data) {

    if (err)
        return next(err);
    else if (!data)
        return next(new Error("User not found"));

    res.send(data);

});