MongoDB复制集+;分片,停止插入数据后,数据库中的集合计数不断变化,这是为什么?

MongoDB复制集+;分片,停止插入数据后,数据库中的集合计数不断变化,这是为什么?,mongodb,count,sharding,Mongodb,Count,Sharding,MongoDB复制集+分片,在我停止插入数据后,数据库中的收集计数不断变化,这是为什么 由于以下原因,计数一直在变化。当碎片中的块大小达到阈值时,均衡器向源碎片发送命令 文件中引用的相关步骤 平衡器进程将moveChunk命令发送到源碎片 源使用内部moveChunk命令启动移动。在迁移过程中,对区块的操作将路由到源碎片。源碎片负责区块的传入写入操作 目标碎片构建源所需的、目标上不存在的任何索引 目标碎片开始请求区块中的文档,并开始接收数据的副本。另请参见区块迁移和复制 在接收到区块中的最终文档

MongoDB复制集+分片,在我停止插入数据后,数据库中的收集计数不断变化,这是为什么

由于以下原因,计数一直在变化。当碎片中的块大小达到阈值时,均衡器向源碎片发送命令

文件中引用的相关步骤

  • 平衡器进程将moveChunk命令发送到源碎片
  • 源使用内部moveChunk命令启动移动。在迁移过程中,对区块的操作将路由到源碎片。源碎片负责区块的传入写入操作
  • 目标碎片构建源所需的、目标上不存在的任何索引
  • 目标碎片开始请求区块中的文档,并开始接收数据的副本。另请参见区块迁移和复制
  • 在接收到区块中的最终文档后,目标碎片将启动同步过程,以确保其具有迁移过程中发生的对迁移文档的更改
  • 完全同步后,源碎片将连接到配置数据库,并使用区块的新位置更新集群元数据
  • 在源碎片完成元数据的更新之后,一旦区块上没有打开的游标,源碎片将删除其文档副本

  • 正如您所看到的,在迁移过程中,数据被复制到两个碎片中。因此,如果碎片平衡处于1-7之间的状态,文档的数量将不断变化。只有在第7步完全完成后,才会提供正确的计数。

    由于以下原因,计数会不断变化。当碎片中的块大小达到阈值时,均衡器向源碎片发送命令

    文件中引用的相关步骤

  • 平衡器进程将moveChunk命令发送到源碎片
  • 源使用内部moveChunk命令启动移动。在迁移过程中,对区块的操作将路由到源碎片。源碎片负责区块的传入写入操作
  • 目标碎片构建源所需的、目标上不存在的任何索引
  • 目标碎片开始请求区块中的文档,并开始接收数据的副本。另请参见区块迁移和复制
  • 在接收到区块中的最终文档后,目标碎片将启动同步过程,以确保其具有迁移过程中发生的对迁移文档的更改
  • 完全同步后,源碎片将连接到配置数据库,并使用区块的新位置更新集群元数据
  • 在源碎片完成元数据的更新之后,一旦区块上没有打开的游标,源碎片将删除其文档副本

  • 正如您所看到的,在迁移过程中,数据被复制到两个碎片中。因此,如果碎片平衡处于1-7之间的状态,文档的数量将不断变化。只有在第7步完全完成后,才会提供正确的计数。

    您好,请发布您尝试的代码的工作示例,清楚地说明您面临问题的确切位置。请看:您好,请发布一个您尝试过的代码的工作示例,清楚地说明您面临问题的确切位置。请参阅: