【发布时间】:2013-04-20 00:56:55
【问题描述】:
我正在尝试通过 Mongoose 设置 MongoDB 自动重新连接功能。我尝试传递该选项的每一种方式都没有效果,或者至少没有发出 reconnected 事件。
我尝试过的:
mongoose.createConnection("mongodb://localhost:27017/test", { auto_reconnect: true });
mongoose.createConnection("mongodb://localhost:27017/test", { autoReconnect: true });
mongoose.createConnection("mongodb://localhost:27017/test", { server: { auto_reconnect: true } });
mongoose.createConnection("mongodb://localhost:27017/test", { server: { autoReconnect: true } });
如果其中一项正确,则应触发 reconnected 事件并应在控制台中记录一条消息,但这永远不会发生。
如果重连前有延迟,有谁知道怎么配置?
提前致谢
【问题讨论】:
-
自动重连默认是开启的,所以你不必自己开启。另外,您将
reconnected事件的侦听器附加到什么上,您是否在模拟实际的重新连接情况? -
我将该事件附加到此
createConnection()调用的返回中。我的事件与connected/disconnected事件一起正常工作。 -
那么您如何测试重新连接?
-
应用初始化后停止/启动mongodb服务。
-
mongoose 只会在你实际使用连接时重新连接,所以在重启 mongodb 后尝试运行查询。我正在以这种方式重新连接事件(尽管我使用
mongoose.connect()而不是createConnection(),也许这会有所不同)