C#MongoDB设置了ReadPreference

时间:2012-06-24 15:14:27

标签: c# mongodb

可能就在我面前,但我不确定如何在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

1 个答案:

答案 0 :(得分:2)

是的,在C#驱动程序中尚未实现ReadPreferences。我们10gen一直在等待实现ReadPreferences,直到所有驱动程序,包括mongos,都可以同时实现。这种支持大约应该在服务器版本2.2发布时。