2013-07-12 26 views
1

有没有办法在收集或DB级别这里定义mongoskin读prefence是MongoDB的原生的NodeJS司机 http://learnmongodbthehardway.com/ex22.html如何在mongoskin中使用读取偏好?

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在与副本集一集拆分服务器的样本。我需要将所有读取查询路由到副本集的辅助成员。

回答

1

终于有办法路线查询到二次的mongod

只需将您的辅助主机和端口mongoskin连接字符串中这样


var mongo = require("mongoskin"); 
var database = mongo.db("mongod://username:[email protected]:port/database",{safe:true , slaveOk : true}); 

slaveOk:true将允许辅助mongod用于只读queries.With没有这个mongo不会允许从辅助查询,并给你一个错误。

[Mongo error "$err" : "not master" ]