如何在node.js服务器中自动重新连接mongo?

假设我有一个连接到mongoDB的node.js服务器。 然后mongoDB死亡或断开连接。 当然,node.js服务器将会失去连接。 即使我重新启动mongoDB,node.js服务器也不会自动连接到新的mongodb,即使它运行在同一台机器上具有相同的端口。 我需要重新启动Node.js服务器或以某种方式写我自己的例程重新连接。

有没有节点模块来处理重新连接? 并采取较不积极的态度。 (即不会每秒要求连接)。

这个问题的答案将取决于您的驱动程序版本和您的具体代码。

最新的驱动程序版本应该支持连接池 。 这通常意味着您在尝试第一次连接时可能会遇到exception,但您应该能够重新连接。

你的实现也很重要。 有几种方法可以做到这一点。 有些人在启动Web服务器之外打开一个连接,有些则是响应请求。

如果您有连接池,那么您应该可以在每个请求中“打开连接”。 您将不得不在重新启动后正确处理错误,但不应该重新启动节点环境。