cleanupOrphaned
重要
从 MongoDB 6.0.3 开始,应使用 $shardedDataDistribution
阶段运行聚合,以确认没有剩余孤立文档。 有关详细信息,请参阅确认没有保留孤立文档。
定义
cleanupOrphaned
使用此命令可等待从分片键的
MinKey
到其MaxKey
的数据块范围内的孤立文档,以便从大多数分片成员中清除指定命名空间。要运行,请在
cleanupOrphaned
admin
mongod
数据库中直接对作为分片的主副本集成员的 实例发出 。在运行cleanupOrphaned
之前,您无需禁用负载均衡器。注意
不要在 实例上运行
cleanupOrphaned
mongos
。
语法
该命令具有以下语法:
db.runCommand( { cleanupOrphaned: "<database>.<collection>", startingFromKey: <minimumShardKeyValue>, // deprecated secondaryThrottle: <boolean>, // deprecated writeConcern: <document> // deprecated } )
命令字段
cleanupOrphaned
有以下字段:
字段 | 类型 | 说明 |
---|---|---|
cleanupOrphaned | 字符串 | 等待清理孤立数据的分片集合的命名空间,即数据库名称和集合名称。 |
行为
确定范围
此字段的值不用于确定清理范围的边界。无论startingFromKey
是否存在或值如何, cleanupOrphaned
命令都会等到命名空间中所有范围内的所有孤立文档都从分片中清除后再完成。
必需的访问权限
在使用authorization
运行的系统上,您必须具有clusterAdmin
特权才能运行cleanupOrphaned
。
输出
returnDocument
每个cleanupOrphaned
命令都会返回一个包含以下字段子集的文档: