如何使用mongoengine连接mongodb复制酶?

rat*_*rat 8 mongodb mongoengine flask-mongoengine replicaset

我正在尝试使用MongoEngine连接到MongoDB副本集?我想连接到任何可用的辅助服务器.

我只能找到pyMongo的例子.有帮助吗?

Ste*_*nie 10

如果要连接到辅助服务器,则需要指定读取首选项,例如SECONDARYSECONDARY_PREFERRED.请注意,从辅助数据中读取数据时,您应该预期数据最终是一致的并且可能是陈旧的(即更改可能尚未从主数据库复制).

您将需要ReadPreference从基本pymongo驱动程序导入常量列表.您可以read_preference在连接级别或每个查询中指定默认值.

使用secondary preferred的示例(如果secondary不可用,将从primary读取):

 from mongoengine import connect
 from pymongo import ReadPreference
 connect('mydb', host='mongodb://server1:27017,server2:27017,server3:27017', replicaSet='replset', read_preference=ReadPreference.SECONDARY_PREFERRED)
Run Code Online (Sandbox Code Playgroud)

您可以检查读取是否将使用辅助节点mongostat --discover.