文档菜单
文档首页
/
MongoDB 手册
/ / /

cleanupOrphaned

本页

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

重要

从 MongoDB 6.0.3 开始,您应使用$shardedDataDistribution 阶段执行聚合操作,以确认没有孤立的文档存在。有关详细信息,请参阅 确认没有孤立的文档存在。

cleanupOrphaned

已弃用自版本8.0.

使用此命令等待从分片键的MinKey到其MaxKey范围内的孤儿文档在指定命名空间中从大多数分片成员中清理。

要运行,请在分片的主要副本集成员mongod实例的admin数据库中直接发出cleanupOrphaned。在运行cleanupOrphaned之前不需要禁用均衡器。

注意

不要在mongos实例上运行cleanupOrphaned

此命令在以下环境中可用

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

重要

此命令不支持M0、M2和M5集群。有关更多信息,请参阅不受支持的命令。

该命令的语法如下

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

cleanupOrphaned 命令有以下字段

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

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

在运行了 authorization 的系统上,您必须拥有 clusterAdmin 权限才能运行 cleanupOrphaned 命令。

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

cleanupOrphaned.ok

在成功时等于 1

1 的值表示以下任一情况:

  • 在分片上 cleanupOrphaned 命名空间中不存在孤儿文档,或者

  • cleanupOrphaned 命名空间中引用的集合不是分片的。

0 的值表示发生了错误。

返回

clearJumboFlag