【发布时间】:2016-07-04 12:47:01
【问题描述】:
我正在使用 mongodb 副本集。我有以下配置:
{
"members": [
{
"host": "db1.example.com",
"port": "27017"
},
{
"host": "db2.example.com",
"port": "27017"
}
]
}
我正在使用以下 nodejs 代码连接数据库名称 myapplicationDb:
使用 mongodb 驱动程序版本 1.4.38。
var MongoClient = require('mongodb').MongoClient;
var Server = require('mongodb').Server;
var url = 'mongodb://';
var options = {
server: {
slaveOk: true,
readPreference: Server.READ_SECONDARY,
socketOptions: {"connectTimeoutMS": 30000}
},
db: {
readPreference: Server.READ_SECONDARY
},
replSet: {
rs_name: "replicaName",
readPreference: Server.READ_SECONDARY
}
}
members.forEach(function (member) {
url = url + member.host + ':' + member.port + ','
});
url = url.substring(0, url.length - 1);
url += '/' + "myapplicationDb";
MongoClient.connect(url, options, function (err, db) {
console.log("db >>>>>>>>", db);
});
我想将阅读偏好设置为次要。
但所有读取操作都在主数据库上执行。 如何设置?
【问题讨论】: