8

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

我只能找到 pyMongo 的例子。有什么帮助吗?

4

1 回答 1

10

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

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

使用次要首选的示例(如果次要不可用,将从主要读取):

 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)

您可以使用mongostat --discover.

于 2014-01-01T22:17:04.917 回答