Question.find({
_id : req.headers['questionid']
}, {
question : 1,
tags : 1
}, function(req, foundQ) {
// doSome stuff with foundQ
}).then(function(foundQ) {
//some more action
});
如果mongoDB发现调用无法从id中找到问题,我不希望调用.then
部分。我希望最后跳到故障块。
我尝试过添加
最后是.fail(function() { });
和.catch(function() { });
,但这似乎不起作用。
我需要做什么?为什么不会失败/赶上工作?
否则。我正在使用Q - 那里有什么我可以用的吗?
感谢。
答案 0 :(得分:1)
您可以这样做:
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节点驱动程序的事件 查询返回空时不要抛出错误, 你可以"模拟"下一个错误"然后"如果结果未定义。