2015-09-04 92 views
0

使用ReactiveMongo打开与多个mongoDB服务器的连接时,我们可以向它传递一个要连接的主机列表。如何使用ReactiveMongo指定replicaSet名称?

但是我没有找到任何方式提供replicaSet名称(如我们可以在标准的MongoDB的URI做)。即使是ReactiveMongo的URI解析器也会忽略它。

这是个问题吗?请问驱动程序在不知道副本集名称的情况下是否正常工作?

回答

1

您提供的清单被称为“种子列表”。当您的驱动程序连接到其中一台服务器时,无论是主服务器还是辅助服务器,驱动程序都会被告知连接到副本集以及哪个服务器是当前主服务器(如果有的话)以及其他详细信息。

当一个新的主当选您的驱动程序,甚至应该被告知,它会自动连接到新当选的主。

ReactiveMongo docs你应该throughly阅读:

[...] ReactiveMongo提供副本集的支持。这意味着以下内容:

  • 驱动程序将检测它是否连接到副本集;
  • 它将探测集合中的其他节点并连接到它们;
  • 它会检测到主要发生了什么变化,并猜测哪个是新的;

[...]