MongoClient.connect – 错误:在初始种子列表中找不到任何有效的服务器

我想连接使用mongodb.MongoClient.connect()与简单的URL连接stringreplicaset的mongodb。 当我启动服务器它抛出的错误

错误:无法在初始种子列表中find任何有效的服务器

这是我的代码,我传递三个mongodb服务器如下

var MongoClient = mongodb.MongoClient; MongoClient.connect('mongodb://192.168.0.16,192.168.0.23,192.168.0.17/test', function(err, db) { if(err){ console.error("Error! Exiting... Must start MongoDB first"); console.log("The error is :::::::::::::::", err); process.exit(1); }else{ console.log("Connection successful"); } });
我也做了副本集。 我有三个服务器一个作为主要和其他行为作为secondary.Using rs.status(),我可以看到,所有服务器工作正常。但仍然收到相同的错误。

mongodb版本= 2.2.3 mongdb lib版本= 1.3.18

 { "set" : "rs01", "date" : ISODate("2015-01-09T07:35:15Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "192.168.0.23:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 2079, "optime" : Timestamp(1420787077000, 1), "optimeDate" : ISODate("2015-01-09T07:04:37Z"), "lastHeartbeat" : ISODate("2015-01-09T07:35:13Z"), "pingMs" : 0 }, { "_id" : 1, "name" : "192.168.0.16:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 2088, "optime" : Timestamp(1420787077000, 1), "optimeDate" : ISODate("2015-01-09T07:04:37Z"), "self" : true }, { "_id" : 2, "name" : "192.168.0.17:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 1838, "optime" : Timestamp(1420787077000, 1), "optimeDate" : ISODate("2015-01-09T07:04:37Z"), "lastHeartbeat" : ISODate("2015-01-09T07:35:14Z"), "pingMs" : 0 } ], "ok" : 1 } 

但我不知道可能是一个问题。这个问题也发生在我的生产环境中。

那么,看起来挺直的。 你确定你在运行Mongo服务器吗? 如果是这样,他们是否在默认的27017端口上运行(因为您没有指定端口号,这将是默认的)。 我会进一步简化你的连接string,只是使用1服务器的url – 为了debugging。 我也会明确指定一个端口号拼出来。 这些服务器之一是主要的吗? 你能从Mongo shell连接到它吗? 那将是第一个testing。