【问题标题】:How to use read preferences in mongoskin?如何在 mongoskin 中使用读取首选项?
【发布时间】:2013-07-12 11:59:02
【问题描述】:

有什么方法可以在集合或数据库级别中定义 mongoskin 中的读取偏好这里是来自 mongodb 本机 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。我需要将所有读取查询路由到副本集的次要成员。

【问题讨论】:

    标签: node.js mongodb database-replication mongoskin


    【解决方案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" ]
    

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 2018-06-25
      • 2018-03-04
      • 1970-01-01
      • 2019-04-23
      • 2012-05-09
      • 2022-11-01
      • 1970-01-01
      • 2012-01-08
      相关资源
      最近更新 更多