есть обратный вызов ошибки подключения мангуста - PullRequest
65 голосов
/ 13 июля 2011

как мне установить обратный вызов для обработки ошибок, если mongoose не может подключиться к моей БД?

я знаю

connection.on('open', function () { ... });

но есть ли что-то вроде

connection.on('error', function (err) { ... });

Ответы [ 4 ]

111 голосов
/ 13 июля 2011

При подключении вы можете обнаружить ошибку в обратном вызове:

mongoose.connect('mongodb://localhost/dbname', function(err) {
    if (err) throw err;
});
36 голосов
/ 05 декабря 2015

Вы можете использовать множество обратных вызовов мангустов,

// CONNECTION EVENTS
// When successfully connected
mongoose.connection.on('connected', function () {  
  console.log('Mongoose default connection open to ' + dbURI);
}); 

// If the connection throws an error
mongoose.connection.on('error',function (err) {  
  console.log('Mongoose default connection error: ' + err);
}); 

// When the connection is disconnected
mongoose.connection.on('disconnected', function () {  
  console.log('Mongoose default connection disconnected'); 
});

// If the Node process ends, close the Mongoose connection 
process.on('SIGINT', function() {  
  mongoose.connection.close(function () { 
    console.log('Mongoose default connection disconnected through app termination'); 
    process.exit(0); 
  }); 
}); 

подробнее о: http://theholmesoffice.com/mongoose-connection-best-practice/

21 голосов
/ 02 сентября 2013

В случае, если кто-нибудь случится с этим, версия Mongoose, которую я использую (3.4), работает так, как указано в вопросе.Таким образом, следующее может вернуть ошибку.

connection.on('error', function (err) { ... });
2 голосов
/ 21 июня 2015

Поздний ответ, но если вы хотите, чтобы сервер работал, вы можете использовать это:

mongoose.connect('mongodb://localhost/dbname',function(err) {
    if (err)
        return console.error(err);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...