如何在mongoskin中使用读取首选项?

时间:2013-07-12 11:59:02

标签: node.js mongodb database-replication mongoskin

有没有办法在集合或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。我需要将所有读取查询路由到副本集的辅助成员。

2 个答案:

答案 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)