mongoose远程连接mongodb,当客户端断开网络重连时报错topology was destoryed ?
问题描述:
我在我的电脑开启了一个mongodb数据库的服务,并配置了用户认证和远程连接。其他电脑通过我的ip地址以及设置的端口、配置的用户等连接到我的数据库,并可以进行读写操作。
但是,当远程连接我的数据库的电脑手动断开网络,再次接入网络的时候,或者长时间没有对我的数据库进行查询读写操作,就会报错,报错信息:
"MongoError: Topology was destroyed"
而,我在本地进行了同样的测试,并没有问题。
我的方法?
于是查了一些资料,在mongoose连接数据库的时候,加上一些参数,如下:
var options = {
server: { socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } },
replset: { socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } }
};
mongoose.connect(secrets.db, options);
或者是这样的:
var options = { server: {
// sets how many times to try reconnecting
reconnectTries: Number.MAX_VALUE,
// sets the delay between every retry (milliseconds)
reconnectInterval: 1000
}
}
mongoose.connect(secrets.db, options);
经过一番尝试,依然没有解决上述问题。
现在主要的问题在于,我本地就没有这样的问题..
请教各位
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我之前碰到的问题是 断开网络 启动数据库就报错
最后把 地址 localhost 改成127.0.0.1好了。。。
我做了如下的改动
然后再也没有报过我问题中描述的错误。
这就是一个在断开连接的情况下操作db报的错误,
issue里面有很多这种问题,
看到有一个写的自动重连,希望能提供帮助