【发布时间】:2014-11-19 13:58:20
【问题描述】:
我正在尝试使用带有简单 url 连接字符串副本集的 mongodb.MongoClient.connect() 连接 mongodb。当我启动服务器时,它会抛出错误
错误:在初始种子列表中找不到任何有效的服务器
这是我的代码,我在其中传递三个 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");
}
});我也做过副本集。 我有三台服务器,一台作为主要服务器,另一台作为次要服务器。使用 rs.status(),我可以看到所有服务器工作正常。但我仍然收到相同的错误。
mongodb 版本 = 2.2.3 mongdb 库版本 = 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
}
但我不知道可能是什么问题。这个问题也发生在我的生产设置中。
【问题讨论】:
-
看看这个可能对你有帮助stackoverflow.com/questions/15680985/…
-
你应该检查一下 mongod 是否绑定到 127.0.0.1
标签: node.js mongodb replication