可能就在我面前,但我不确定如何在C#驱动程序中设置ReadPreference.Secondary设置?我想将查询负载分配给我的辅助节点而不是默认节点。我已在节点本身上设置了slaveOk()。
任何帮助/示例将不胜感激。我找不到设置该属性的好例子。
谢谢,
取值
编辑:所以可能还没有在C#驱动程序中实现ReadPreference ......看起来就是这种情况。那么我会使用slaveok?
如下所示:?
var mongoServer = MongoServer.Create("mongodb://localhost/?
replicaSet=myset;slaveOk=true");
var db = mongoServer.GetDatabase("MyDb");
var coll = db.GetCollection("MyColl");
或
var cs= db.CreateCollectionSettings<BsonDocument>("Users");
cs.SlaveOk = true;
var coll = db.GetCollection(cs);
EDIT2: 看起来我可能需要修改连接字符串以装饰每个Mongo实例?
mongodb://serverA:27017,serverB:27017,serverC:27017/?safe=true;replicaset=myreplicaset;slaveok=true
答案 0 :(得分:2)
是的,在C#驱动程序中尚未实现ReadPreferences。我们10gen一直在等待实现ReadPreferences,直到所有驱动程序,包括mongos,都可以同时实现。这种支持大约应该在服务器版本2.2发布时。