似乎MongoClient和MongoReplicaSetClient都可以连接到 mongo 副本集。事实上,它们的文档页面几乎相同——相同的选项、相同的方法等——除了后者的构造函数需要我指定一个副本集。
在这两种情况下,我们都可以指定读取偏好。在这两种情况下,如果发生降级,我们必须处理 AutoReconnect 异常。
所以我的问题是:
为什么一个人会使用一个而不是另一个,因为一个人可以对两者执行完全相同的操作?
两者都可以执行二次读取,对吗?文档说 ReplicaSetClient 的优点是我们可以进行二次读取,但显然两者都支持它们。
文档说 ReplicaSetClient 具有“副本集健康监控”功能。这到底是什么意思呢?有没有我可以调用的新方法告诉我一个 replset 的健康状况,而我不能用 MongoClient 做这些?
理论上MongoReplicaSetClient将连接到 replset 的所有成员,而不仅仅是一个。这是错误的:您可以删除或省略连接字符串中的任何服务器,并且 MongoClient 和 MongoReplicaSetClient 仍然能够连接。我错过了什么吗?