mongoose.mongo.MongoClient.connect()在没有mongo shell的情况下工作吗?

时间:2014-01-16 12:21:56

标签: node.js mongodb shell mongoose replicaset

我正在连接不是localhost的mongo服务器。我正在使用猫鼬。 在某些时刻我需要与mongo本地驱动程序连接,所以我这样做:

mongoose.mongo.MongoClient.connect(uri, function (err, conn) {});

conn对象为null

最近我改变了服务器结构,现在所有的mongo数据库都是远程的,在我的新节点机器上我根本没有安装mongo shell ...首先,所有工作正常,连接uri是:

mongodb://x.x.x.x:27017/database,mongodb://y.y.y.y,mongodb://z.z.z.z

其中x.x.x.x:27017是主要的,经过一段时间后,由于初始主要的中断,新的主要已被选举,现在我开始使用相同的uri,但连接对象是null而我不知道为什么......

有人有类似的问题吗?或者可能是解决方案或想法......

1 个答案:

答案 0 :(得分:2)

连接uri错了:

代替:

mongodb://x.x.x.x:27017/database,mongodb://y.y.y.y,mongodb://z.z.z.z,{options}

对于本机驱动程序MongoClient我应该使用:

mongodb://x.x.x.x:27017,y.y.y.y:27017,z.z.z.z:27017/database?opt1=o1&opt2=o2

这是我找到这个解决方案的地方: MongoClient.connect