有没有办法在集合或db级别的mongoskin中定义读取prefence这里是来自mongodb native nodejs驱动程序的示例 http://learnmongodbthehardway.com/ex22.html
var readMongo = require("mongodb").MongoClient;
MongoClient.connect('localhost:3000/tes?readPreference=secondaryPreferred' ,
function(err ,db){
db.collection("sites").findOne(
{
$or: [{'a' : e},
{'a' : d},
{'a' : c},
{'a' : b}]
}, function(error, result1){
if(error){
console.log(error);
} else {
callback(null, result1)
db.close();
}
});
});
}
我目前正在使用副本集的一组分片服务器上运行mongos。我需要将所有读取查询路由到副本集的辅助成员。
答案 0 :(得分:1)
最后,您可以将查询路由到辅助mongod
只需将辅助主机的主机和端口放在mongoskin连接字符串中,如下所示
var mongo = require("mongoskin");
var database = mongo.db( "mongod://username:password@secondaryDatabasehost:port/database",{safe:true , slaveOk : true});
slaveOk:true 将允许辅助mongod用于只读查询。没有这个mongo不允许从辅助查询并给你一个错误。
[Mongo error "$err" : "not master" ]
答案 1 :(得分:-1)