我的代码:
Question.find({
_id : req.headers['questionid']
}, {
question : 1,
tags : 1
}, function(req, foundQ) {
// doSome stuff with foundQ
}).then(function(foundQ) {
//some more action
});
我的问题:
如果mongoDB find调用未能从ID中找到问题,我不希望调用
.then
部分。我希望所有这些都最后跳到一个失败块。我尝试添加
.fail(function() { });
和.catch(function() { });
最后,但这似乎不起作用。我特别需要做什么?为什么不成功/失败?
除此以外。我正在使用Q-那里有可以使用的东西吗?
谢谢。
最佳答案
您可以执行以下操作:
Question.find({
_id : req.headers['questionid']
}, {
question : 1,
tags : 1
}, function(req, foundQ) {
if(!foundQ){
return q.reject("I don't found anything");
}
// doSome stuff with foundQ
}).then(function(foundQ) {
//some more action
});
mongo节点驱动程序的事件
查询返回空值时不要抛出错误,
如果结果不确定,您可以在下一个“ then”中“模拟”错误。