我使用mongoose连接mongo(v3.04)副本集,我想将所有请求传播到set中的所有节点.但是,在完成以下操作后,我的辅助设备从未被命中,我的连接字符串和选项如下:
let connectionString = 'mongodb://ip1:27017/db, ip2:27017/db';
mongoose.connect(connectionString, {
server: {
socketOptions: {keepAlive: 1},
readPreference: "nearest",
strategy: "ping"
},
replset: {
rs_name: 'ReplicaSet',
socketOptions: {keepAlive: 1},
strategy: 'ping',
readPreference: 'nearest',
poolSize: 10
}
});
Run Code Online (Sandbox Code Playgroud)
看起来mongoose完全忽略了我传递的readPreference设置.我已经尝试了很多方法,但到目前为止还没有运气.任何人都可以给我一个提示?
readPreference: 'nearest'意味着客户端将ping连接上的所有副本集成员,并将所有将来的读取解决到响应速度最快的成员.MongoDB客户端通常不会随机切换主要和次要.
如果您希望它们从辅助设备中读取,请使用readPreference: 'secondaryPreferred'.
| 归档时间: |
|
| 查看次数: |
2440 次 |
| 最近记录: |