MongoEngine在查询中指定读取首选项

问题描述:

我使用的是Mongo 2.6,Pymongo 2.7.2和Mongoengine 0.8.7。对于特定的阅读查询,我想使用我的副本集的辅助。因此,随着mongoengine文档here规定,我写我的查询如下:MongoEngine在查询中指定读取首选项

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

但是,查询总是会似乎初级(此查询的日志总是只看到在主)。语法是否正确?如果是的话,我该如何验证是否查询了辅助人员?

+0

可能是由于[此错误](https://github.com/MongoEngine/mongoengine/pull/1042)如果您链接另一种方法,如跳过,限制等。 –

+0

我与它链接在一起order_by方法,但我的Pymongo版本是2.7.2,并且该错误在任何版本> = 3.0。我想它也是在2.7.2中被破解的。 – Yahya

+0

该消息显示“截至目前,该修补程序仅适用于pymongo ver

找出问题所在。在MongoEngine “连接”方法,需要被指定的replicaSet参数如下:

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

读偏好的语法是正确的,因为如上所述。传入副本集参数使其工作。