Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

cleanupOrphaned

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 行为
  • 必需的访问权限
  • 输出

重要

从MongoDB 6.0.3开始, 您应使用 $shardedDataDistribution阶段运行聚合,以确认没有剩余孤立文档。 有关详细信息,请参阅确认没有保留孤立文档。

cleanupOrphaned

自版本 8.0 起已弃用

使用此命令可等待从分分片键的MinKey到其MaxKey的数据范围的数据块文档,以便从大多数分片成员中清除指定命名空间。

要运行,请在admin数据库中直接在作为分片的主节点 (primary node in the replica set)副本集成员的mongod实例上发出cleanupOrphaned 。 在运行cleanupOrphaned之前,您无需禁用负载均衡器。

注意

不要在mongos实例上运行cleanupOrphaned

此命令可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

重要

M 0 、M 2和 M 5集群不支持此命令。 有关更多信息,请参阅不支持的命令。

该命令具有以下语法:

db.runCommand(
{
cleanupOrphaned: "<database>.<collection>",
startingFromKey: <minimumShardKeyValue>, // deprecated
secondaryThrottle: <boolean>, // deprecated
writeConcern: <document> // deprecated
}
)

cleanupOrphaned 有以下字段:

字段
类型
说明
cleanupOrphaned
字符串
等待清理孤立数据的分片集合的命名空间,即数据库名称和集合名称。

该字段的值不用于确定清理范围的边界。 无论startingFromKey是否存在或值如何, cleanupOrphaned命令都会等到命名空间中所有范围内的所有孤立文档都从分分片清除后再完成。

在使用authorization运行的系统上,您必须具有clusterAdmin特权才能运行cleanupOrphaned

每个cleanupOrphaned命令都会返回一个包含以下字段子集的文档:

cleanupOrphaned.ok

成功时等于1

值为1表示:

  • 分片上的cleanupOrphaned命名空间中不存在任何孤立文档,或者

  • cleanupOrphaned命名空间中引用的collection未分片。

值为0表示发生错误。

后退

clearJumboFlag