我正在连接到不是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,但连接对象为空,我不知道为什么…
是否有人有类似的问题?或者解决方案或想法….
最佳答案 连接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