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

我正在连接到不是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

点赞