我使用的是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)
但是,查询始终是主要的(此查询的日志始终仅在主要查看中显示)。语法是否正确?如果是,我该如何验证是否正在查询辅助设备?
答案 0 :(得分:1)
找出问题所在。在MongoEngine “connect”方法中, replicaSet 参数需要指定如下:
connect(db = "my_db", replicaSet = "my_replica_set_name", host = "hostname", port = "port_number")
如上所述,读取首选项的语法是正确的。传入 replicaSet 参数使其工作。