有人能解释一下在什么情况下会发生下面的错误吗?

database error {
[MongoError: no valid replicaset members found]
name: 'MongoError',
message: 'no valid replicaset members found'
}

这就是我连接到副本集的方式:
var url = format("mongodb://%s:%s@%s/%s?authSource=%s&replicaSet=%s&re‌​adPreference=%s&read‌​PreferenceTags=%s&co‌​nnectTimeoutMS=%s&so‌​cketTimeoutMS=%s", username, pswd, replicationSet, db, authdb, replicaSetName, readPreference, readPreferenceTags, 5000, 5000);
var db = mongojs(url);

最佳答案

在没有辅助人员的情况下,与主要人员相比,什么是“最新的”。在主服务器上有一些还没有复制的更改。
如果客户端一直在写(到主服务器),它就不能退出。
当然,在副本集中有少数节点的情况下也是如此。就像三个节点中的一个。
所以…
在副本集中,必须始终有大多数有投票权的成员启动并运行。(2/3,3/4,3/5,…)
你能用mongo命令直接从命令行连接rs的主节点吗?
如果是,而应用程序不能,则应用程序的连接字符串出错。
如果您的rs没有“primary”,请检查(不同的)nodes mongodb.log文件中的错误消息解释错误的原因。

关于mongodb - MongoError:找不到有效的replicaset成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39959232/

10-12 23:23