node.js - 当主服务器关闭时,MongoDB NodeJS 客户端与副本集的连接不会重新连接
问题描述
MongoClient.connect('mongodb://mongo1,mongo2,mongo3?replicaSet=rs', {
useUnifiedTopology: true,
}, (err, mongoClient) => {
setTimeout(() => {
mongoClient.db("mydb").collection('mycollection').insertOne({...})
}, 10000)
})
当主节点宕机和使用 UnifiedTopology 时,MongoClient 是否应该重新连接到副本集中的另一个 mongo 实例?因为在这个例子中mongoClient仍然指向旧的主实例。这是预期的行为吗?
编辑
解决方案
根据 Mongo 3.4 文档:在 3.4 中:
mongo "mongodb://host1,host2,host3/myDB?replicaSet=myRS"
或者
mongo "mongodb://host1:27017,host2:27017,host3:27017/myDB?replicaSet=myRS"
推荐阅读
- html - 用外部元件扰乱流动
- go - Golang protobuf 动态消息
- ios - 在 iOS 中禁用父自定义控件中的手势
- c# - Why ng-repeat records multiply in combobox in Aspnet Mvc?
- java - WatchKey 始终为空
- python - 使用 SQLAlchemy 在 Postgresql 中创建数据库表时出现编程错误
- php - 主键后创建表时出现语法错误主键
- javascript - 如何使用 Javascript 更新占位符颜色?
- bash - 无法使用 sed 命令编辑 pdf 文件
- xamarin - 在 Xamarin.Forms 上的操作中添加取消按钮