私はあなたと同じ質問をしました、そしてrobertklepの解決策は私にとってもうまくいきませんでした。 MongoDBサービスが停止すると、エラーイベントがトリガーされますが、connection.readyStateはまだ1(接続済み)です。自動再接続されなかったのはそのためかもしれません。
これが私が今持っているものです:
var db = mongoose.connection;
db.on('connecting', function() {
console.log('connecting to MongoDB...');
});
db.on('error', function(error) {
console.error('Error in MongoDb connection: ' + error);
mongoose.disconnect();
});
db.on('connected', function() {
console.log('MongoDB connected!');
});
db.once('open', function() {
console.log('MongoDB connection opened!');
});
db.on('reconnected', function () {
console.log('MongoDB reconnected!');
});
db.on('disconnected', function() {
console.log('MongoDB disconnected!');
mongoose.connect(dbURI, {server:{auto_reconnect:true}});
});
mongoose.connect(dbURI, {server:{auto_reconnect:true}});