当没有给出副本集时,Mongoose会永远挂起

时间:2017-08-15 09:57:02

标签: node.js mongodb mongoose

这是一种使用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。

0 个答案:

没有答案