MongoEngine指定查询的读取首选项

时间:2016-05-12 09:48:15

标签: mongodb pymongo mongoengine replicaset

我使用的是Mongo 2.6,Pymongo 2.7.2和Mongoengine 0.8.7。对于特定的读取查询,我想使用我的副本集的辅助。因此,正如mongoengine文档here中所指定的那样,我按如下方式编写了我的查询:

from pymongo.read_preferences import ReadPreference    
<collection_name>.objects().read_preference(ReadPreference.SECONDARY_PREFERRED)

但是,查询始终是主要的(此查询的日志始终仅在主要查看中显示)。语法是否正确?如果是,我该如何验证是否正在查询辅助设备?

1 个答案:

答案 0 :(得分:1)

找出问题所在。在MongoEngine “connect”方法中, replicaSet 参数需要指定如下:

connect(db = "my_db", replicaSet = "my_replica_set_name", host = "hostname", port = "port_number")

如上所述,读取首选项的语法是正确的。传入 replicaSet 参数使其工作。