Sails mongo 重新连接
Posted
技术标签:
【中文标题】Sails mongo 重新连接【英文标题】:Sails mongo reconnect 【发布时间】:2017-09-30 15:34:16 【问题描述】:我正在使用sails 1.0.0-37 和sails-mongo 1.0.0-10 。 当风帆升起时,如果 mongo db 服务器已启动并正在运行,则一切正常。如果 mongo db 出现故障,并且 node.js 作为功能的一部分尝试访问 mongo db 并且超时,则会向用户显示内部服务器错误。这一切都好。但是,当 mongo 重新启动时,sails 不再重新连接它并抛出此错误:
" AdapterError: 来自数据库适配器的意外错误:fn
调用了它的error
exit with: MongoError: Topology was destroyed "
我将 autoReconnect: true 设置为 mongodb 适配器选项的一部分。仅当 node.js 在关闭时不尝试访问 mongodb 服务器时,此重新连接才有效。如何解决此问题?否则无法在 prod 中使用sails 1.0 和sails-mongo?
【问题讨论】:
您好,遇到同样的问题。你找到解决办法了吗? 【参考方案1】:我遇到了同样的问题,这里是解释和解决方案:
如果不设置“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
我希望这会有所帮助。
【讨论】:
以上是关于Sails mongo 重新连接的主要内容,如果未能解决你的问题,请参考以下文章
Sails Js - 防止非模型字段保存在 mongo 文档中