我得到下面的错误时,试图连接使用moongoose。
Mongoose 错误:连接时不能多次mongoose.connect()
。
throw new_mongoose.错误('连接时不能多次mongoose.connect()
。');^ Mongoose 错误:在新的MongooseError(/node_modules/mongoose/lib/error/mongooseError. js:10:11)中,您不能在连接时多次执行mongoose.connect()
请帮我找出原因和如何预防
4条答案
按热度按时间wfveoks01#
在mongoose版本5.6.1中,添加了检查https://github.com/Automattic/mongoose/pull/7905
恢复到旧版本以快速修复。
9wbgstp72#
为了使用多个MongoDB连接,请使用
mongoose.createConnection
函数而不是mongoose.connect
。mongoose.createConnection
将为您提供一个连接对象,您可以在模型文件中进一步使用它,因为模型总是绑定到单个连接h9vpoimq3#
我也遇到过同样的问题,而且很容易就解决了。我所要做的就是删除控制器中的任何连接。
之前:服务器. js
Controller.js
之后:服务器. js
Controller.js
显然我把它从我所有的控制器文件中删除了。
a5g8bdjr4#
正如'iamdimitar'所指出的,在PR中删除了多次调用
mongoose.connect()
的功能,据说这样做是为了防止错误。如果必须多次调用
mongoose.connect()
,可以使用一个mongoose.connect()
,其余的使用mongoose.createConnection()
,这对我很有效(我只使用了另外一个mongoose.createConnection()
)