我的findSomething
函数有一个错误。MongoDB:当在mongoDb中查询时发生错误
function findSomething(req, res, next) {
Myschema.findXXXById(req.params.xid, function (err, doc) {
if (err) res.json({ status: 1, message: messages.NotFound });
res.json({ status: 0, docsInfo: doc });
});
}
我得到的错误是这样的
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:335:11)
我明白,错误是因为我如果条件定义很差,来理解错误大家从我想找一个可能性其中查询可能会遇到错误。
E.g.
if(err) {
// how to get here
}
我试图从数据库中删除数据,因此现在当它没有得到它仍然无法给出了一个错误的数据,而是返回空来代替。
所以我想知道一个人如何能在MongoDB中
你可以尝试使用一个无效的id(一个不是一个有效的'ObjectId',比如说''abc''而不是'req.params.xid'),但我不是当然,如果那些不会发生混乱dy被猫鼬抓住了。但是,如果你愿意,我也可以向你解释为什么你得到了这个错误信息; D – robertklep
是肯定的请。 –
我猜的是,发生了错误,控制进入下一行,它再次发送响应,所以错误:发送后无法设置标题。这就是为什么我只是想检查我如何得到这个错误。 –