как мне установить обратный вызов для обработки ошибок, если mongoose не может подключиться к моей БД?
я знаю
connection.on('open', function () { ... });
но есть ли что-то вроде
connection.on('error', function (err) { ... });
При подключении вы можете обнаружить ошибку в обратном вызове:
mongoose.connect('mongodb://localhost/dbname', function(err) { if (err) throw err; });
Вы можете использовать множество обратных вызовов мангустов,
// 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/
В случае, если кто-нибудь случится с этим, версия Mongoose, которую я использую (3.4), работает так, как указано в вопросе.Таким образом, следующее может вернуть ошибку.
Поздний ответ, но если вы хотите, чтобы сервер работал, вы можете использовать это:
mongoose.connect('mongodb://localhost/dbname',function(err) { if (err) return console.error(err); });