MongoDB中的“孤立文档”是什么意思?

在MongoDB的“orphaned documents”中,指的是在分片配置中,当进行数据再分配(块迁移)时,可能会出现突然的异常终止(断电等)导致出现无意义的孤立文档(孤立文档)。

在MongoDB进行跨分片节点的数据再平衡时,会出现数据同时存在于迁移源节点和迁移目标节点的情况。在此过程中,如果发生异常终止,然后重新启动,两个节点上都将存在相同的文档。这时,在没有定义分片节点的数据块时,位于该节点上的文档称为孤立文档。由于没有定义数据块,mongos甚至无法识别该处是否存在文档,因此孤立文档成为无意义的文档。

要删除这些孤立的文件,可以使用从2.6版本引入的cleanupOrphaned命令,就可以了。