2015-10-04 158 views
1

我使用以下連接到我的MongoDB。我對密碼進行了拼寫錯誤,認證失敗,但是直到我進行了模型搜索而沒有發現錯誤時,它才掛起。Nodejs - Moongose發現不會拋出錯誤,如果連接中斷

如果沒有開放的連接不應該模型拋出的錯誤,而不是掛?

mongoose.connect(uristring, function (err, res) { 
    if (err) { 
    console.log ('ERROR connecting to: ' + uristring + '. ' + err); 
    } else { 
    console.log ('Succeeded connected to: ' + uristring); 
    } 
}); 

User.findOne({ 
    'valid.email': Email 
    }, function(err, user) { 
    if (err) { 
     callback({ this is never called }); 
    } 

回答

1

嘗試使用斷開事件處理程序。

disconnected: Emitted after getting disconnected from the db.

conn.on('disconnected', callback); 
+0

我看不出如何能幫助。我想你可以嘗試重新連接,但仍然不能解釋爲什麼貓鼬只是掛起 – Drakoumel

+0

是的,你可以嘗試重新連接或拋出一個錯誤。這是如何設計貓鼬的,它會在連接建立之前緩存查詢。請參閱:https://github.com/Automattic/mongoose/issues/951 – Sohail

+0

嗯,我想那麼這是「預期的行爲」thnx! – Drakoumel