我的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
是肯定的請。 –
我猜的是,發生了錯誤,控制進入下一行,它再次發送響應,所以錯誤:發送後無法設置標題。這就是爲什麼我只是想檢查我如何得到這個錯誤。 –