如何实现与MongoDB的辅助节点的只读连接。 我有一个主节点和两个辅助节点。我想要一个只读连接到辅助节点。
我试过了MongoReplicaSetClient
,却没有得到我想要的东西。
是否可以与主节点建立只读连接?
答案 0 :(得分:2)
您希望在查询中指定Read Preference。 Secondary Preferred的读取首选项将向辅助节点发送查询,但在辅助节点不可用时将回退到主节点。
pymongo中的读取首选项在MongoClient中配置:
>>> client = MongoClient(
... 'localhost:27017',
... replicaSet='foo',
... readPreference='secondaryPreferred')
>>> client.read_preference
SecondaryPreferred(tag_sets=None)
可以找到更多信息(以及上述来源)here.
答案 1 :(得分:1)
默认情况下,辅助节点是只读的。但是,您可以指定读取首选项以从辅助节点读取。默认情况下,它从主数据库读取。
这可以使用连接字符串中的readPreference = secondary来实现