我需要在连接和断开连接时发出事件。我的问题是检测何时重新建立连接。
当连接断开连接时(出错时),mongo驱动器会发出um事件,但在重新建立连接时它不会发出事件。
MongoClient.connect(mongoUrl, function (err, db) {
if (err) {
console.log('Error on connecting to mongo!');
console.error(err);
reconnect();
return;
}
console.log('Mongo connected!');
emit('connected', db); // This event is emitted only on the first connection.
db.on('error', function (err) {
console.log('Mongo connection broken!');
console.error(err);
emit('disconnected');
});
}
分析代码我发现了serverConfig对象。
db.serverConfig.on('reconnect', function() {
console.log('DB reconnected');
});
使用这个内部对象是一个好习惯吗?
感谢。
答案 0 :(得分:0)
根据Mongo驱动程序开发人员的说法,使用db.serverConfig订阅“重新连接”事件是一种很好的做法。