这是一种使用mongoose连接到mongodb副本集的方法:
var connectionString = 'mongodb://user:password@primary:27017,secondary1:27017,secondary2:27017/dbName?authMecanism=MONGODB-CR&replicaSet=mySet';
var options = { useMongoClient: true };
mongoose.connect(connectionString, options, error => {
if (error) throw error;
console.log('database on');
});
如果我提供了错误的凭据,此连接将失败。
如果我提供了错误的IP,任何查询都将以ETIMEDOUT结束。
但是,如果我删除连接字符串中的replicaSet
get参数,则任何“查找”查询都将永久运行:它不会超时,也不会进入回调。
在这种情况下是否有任何事件要听?
PS:我不知道这是否相关,但我正在使用mongo 3.3和mongoose 4.11。