1
我正在測試Mongoose錯誤處理的情況,其中db命令(保存,更新等)無法執行時,數據庫連接丟失之前或執行期間db命令。在這個例子代碼:當db命令無法執行時,Mongoose不報告錯誤
var myModel = new MyModel(data);
myModel.save(function (err, newDoc, numAffected) {
if (err || numAffected === 0) {
logger.error('Error inserting message: ' + err);
}
logger.info('Message inserted');
})
如果我把一個斷點上myModel.save()行,殺mongod的過程中,則繼續執行代碼,沒有任何反應和貓鼬似乎靜默失敗。回調是永遠不會被調用,並沒有什麼記錄在這裏或定義爲連接「錯誤」事件監聽器遵循app.js:
var db = mongoose.connection;
db.on('error', function(e) {
logger.error('connection error:' + e);
});
我本來期望一些錯誤信息,告訴我不能執行保存。任何意見我做錯了什麼?
我使用的是MongoDB 3.2,mongoose 4.5.1,express 4.14和node 4.2.1。
由於提前,
弗雷德
您是否將[安全](http://mongoosejs.com/docs/guide.html#safe)選項傳遞給您的連接或模式?只是檢查,因爲默認應該是'真的' –
我沒有明確地設置它,所以它使用默認值。 – fshort