0
使用ReactiveMongo打开与多个mongoDB服务器的连接时,我们可以向它传递一个要连接的主机列表。如何使用ReactiveMongo指定replicaSet名称?
但是我没有找到任何方式提供replicaSet名称(如我们可以在标准的MongoDB的URI做)。即使是ReactiveMongo的URI解析器也会忽略它。
这是个问题吗?请问驱动程序在不知道副本集名称的情况下是否正常工作?
使用ReactiveMongo打开与多个mongoDB服务器的连接时,我们可以向它传递一个要连接的主机列表。如何使用ReactiveMongo指定replicaSet名称?
但是我没有找到任何方式提供replicaSet名称(如我们可以在标准的MongoDB的URI做)。即使是ReactiveMongo的URI解析器也会忽略它。
这是个问题吗?请问驱动程序在不知道副本集名称的情况下是否正常工作?
您提供的清单被称为“种子列表”。当您的驱动程序连接到其中一台服务器时,无论是主服务器还是辅助服务器,驱动程序都会被告知连接到副本集以及哪个服务器是当前主服务器(如果有的话)以及其他详细信息。
当一个新的主当选您的驱动程序,甚至应该被告知,它会自动连接到新当选的主。
按ReactiveMongo docs你应该throughly阅读:
[...] ReactiveMongo提供副本集的支持。这意味着以下内容:
- 驱动程序将检测它是否连接到副本集;
- 它将探测集合中的其他节点并连接到它们;
- 它会检测到主要发生了什么变化,并猜测哪个是新的;
[...]