在Mongoose中处理错误

我正在使用Restify和Mongoose来创build一个API,而我对这两者都是全新的。 我似乎无法弄清楚在Mongoose / Node中处理错误的正确方法。

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

Submission.findById(req.params.submission_id, function(err, data) { if (err) return next(err); res.send(data); }); 

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

任何帮助是极大的赞赏。

找不到匹配的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); });