MongoError: no valid replicaset members found

MongoError: no valid replicaset members found

谁能解释一下在什么情况下会出现以下错误?

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);

在没有辅助节点的情况下,"up-to-date" 与主要节点相比是什么。主要的更改尚未复制次要的内容。 如果客户端不断地写(到主),它不能降级。

当然还有在副本集中少数节点向上的情况。就像三个节点之一。

所以.. 在副本集中,您必须始终拥有大多数投票成员并且 运行。 (2/3, 3/4, 3/5,...)

你能直接从命令行使用 'mongo' 命令连接那个 RS 的主节点吗? 如果是,而您的应用程序不能,那么您的应用程序的连接字符串有错误。

如果您的 RS 没有 'primary',请检查(不同的)节点 mongodb.log 文件中的错误消息,解释错误。

如果您使用 https://github.com/strongloop/loopback-connector-mongodb/issues/319 中提到的 mongodb 驱动程序的弃用版本(感谢 brasskazoo 指出),尽管有有效的副本集成员可用,但仍会出现此消息。您应该检查您的版本并在必要时升级。

与此同时,重新配置您的副本集可能会恢复副本集的所有成员并暂时解决此问题。该命令是 rs.reconfig(),如 https://docs.mongodb.com/manual/reference/method/rs.reconfig/

中所述