【发布时间】:2020-07-06 07:58:09
【问题描述】:
我在 MongoClient 中使用的 url 中指定了三个 mongo 节点。它看起来像这样“mongodb://A,B,C,D”。我需要将读取首选项作为辅助,为此我使用了 SECONDARY_PREFERRED。一切都按预期工作,我能够毫无问题地连接到辅助节点。我使用 - mongo_con = MongoClient(db_url, read_Preference=ReadPreference.SECONDARY_PREFERRED)
我想知道如果在获取连接时不发送“replicaSet”可选参数会有什么影响。如果我使用 repicaSet 并发送正确的副本集名称,连接会有什么不同,如果我发送的副本集名称不正确怎么办?它将如何影响我的连接?
【问题讨论】:
-
你试试看怎么样?
-
正如我所说,我试过了,效果很好。我想知道长期影响。如果不花费数周时间并观察行为和极端情况,我就无法“弄清楚”。感谢您的宝贵建议。
-
应该没什么区别。您连接的服务器(mongo 节点)知道它连接到的副本集。
-
所以只有当我在MongoClient中使用的url中只指定主节点时才使用replicaSet参数?我只是观察到人们有时会使用 replicaSet 参数,但不确定它的更广泛影响。
-
诚然,如果不阅读驱动程序的源代码,这个问题(至少是前半部分)几乎是不可能“弄清楚”的。