对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

副本集主节点

主节点是副本集中唯一接受写入操作的成员。MongoDB 在主节点上应用写入操作,然后在主节点的 oplog 上记录这些操作。从节点成员复制该日志,并将操作应用于其数据集。

在以下三节点副本集中,主节点接受所有写入操作。然后,从节点复制 oplog 以应用于其数据集。

读取和写入主节点的默认路由示意图。
点击放大

副本集的所有节点都可以接受读取操作。但是,默认情况下,应用程序将其读取操作定向到主节点。有关更改默认读取行为的详细信息,请参阅读取偏好(Read Preference)。

副本集最多可以有一个主节点 (primary node in the replica set)。 [1] 如果当前的主节点 (primary node in the replica set)不可用,则将通过选举确定新的主节点 (primary node in the replica set)。有关更多详细信息,请参阅副本集选举。

在以下 3 节点组成的副本集中,主节点变得不可用。此情况会触发选举,而该选举会在剩余的从节点中选取一个作为新的主节点。

当三成员副本集的主节点 (primary node in the replica set)变得无法访问时,会触发选举。
点击放大
[ 1 ]

在某些情况下,副本集中的两个节点可能会暂时认为它们是主节点,但最多只能有其中一个节点能够完成具有{ w: "majority" }写入关注的写入操作。可以完成{ w: "majority" }写入操作的节点是当前主节点,另一个节点是尚未识别其降级(通常是由于网络分区)的前主节点。发生这种情况时,尽管已请求读取偏好primary,但连接到前主节点的客户端可能会观察到过时数据,并且对前主节点的新写入操作最终将回滚。

给本页内容打分