重要
MongoDB 6.0.3以降、 $shardedDataDistributionステージを使用して集計を実行し、孤立したドキュメントが残っていないことを確認する必要があります。 詳細については、「孤立したドキュメントが存在しないことを確認する 」を参照してください。
定義
cleanupOrphanedこのコマンドを使用して、シャードキーの
MinKeyからMaxKeyまでのチャンク範囲内の 孤立したドキュメント が、指定された名前空間がシャードのノードの過半数からクリーンアップされるのを待ちます。cleanupOrphanedadminmongodを実行するには、シャードのプライマリ レプリカセット ノードである インスタンスの データベースで を直接発行します。cleanupOrphanedを実行する前に、バランサーを無効にする必要はありません。注意
インスタンスで
cleanupOrphanedmongosを実行しないでください。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M0 および Flex クラスターではサポートされていません。詳細については、「 サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { cleanupOrphaned: "<database>.<collection>", startingFromKey: <minimumShardKeyValue>, // deprecated secondaryThrottle: <boolean>, // deprecated writeConcern: <document> // deprecated } )
コマンドフィールド
cleanupOrphaned には、次のフィールドがあります。
フィールド | タイプ | 説明 |
|---|---|---|
| string | 孤立したデータのクリーンアップを待機するシャーディングされたコレクションの名前空間、つまりデータベース名とコレクション名の両方。 |
動作
範囲を決定
このフィールドの値は、クリーンアップ範囲の境界を決定するために使用されることはありません。 cleanupOrphanedコマンドは、 startingFromKeyの存在や値に関係なく、名前空間内のすべての範囲のすべての 孤立したドキュメント が完了する前に、シャードからクリーンアップされるまで待機します。
必要なアクセス権
authorizationで実行されているシステムでは、clusterAdmin を実行するにはcleanupOrphaned 特権が必要です。
出力
Return Document
各cleanupOrphanedコマンドは、次のフィールドのサブセットを含むドキュメントを返します。