gpt4 book ai didi

node.js - Sails mongo 重新连接

转载 作者:太空宇宙 更新时间:2023-11-04 01:59:43 25 4
gpt4 key购买 nike

我正在使用 sails 1.0.0-37 和 sails-mongo 1.0.0-10 。当风 sails 扬起时,如果 mongo db 服务器启动并运行,则一切正常。如果 mongo db 出现故障,并且 node.js 尝试访问 mongo db 作为功能的一部分并且超时,则会向用户显示内部服务器错误。这一切都好。但是,当 mongo 重新启动时,sails 不再重新连接到它并抛出此错误:

"AdapterError: 数据库适配器出现意外错误:fn 调用其 error 退出,并显示:{ MongoError: 拓扑已损坏 } "

我将 autoReconnect: true 设置为 mongodb 适配器选项的一部分。仅当 Node.js 在 mongodb 服务器关闭时不尝试访问它时,此重新连接才有效。如何解决此问题?否则就不可能在产品中使用 sails 1.0 和 sails-mongo 吗?

最佳答案

我遇到了同样的问题,这是解释和解决方案:

如果不设置“reconnectTries”,则默认设置为30。经过 30 次尝试,sails 无法连接到 mongo 并抛出“拓扑已损坏”。

对我来说,解决方案是将 reconnectTries 设置为 Number.MAX_VALUE

default: {
adapter: 'sails-mongo',
url: 'mongodb://admin:admin123@127.0.0.1:27017/datastore?authSource=admin',
reconnectTries: Number.MAX_VALUE,
reconnectInterval: 1000
}

我希望这有帮助。

关于node.js - Sails mongo 重新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46504258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com