重要
MongoDB 6.0.3 以降、$shardedDataDistribution ステージを使用して集計を実行し、孤立したドキュメントが残っていないことを確認します。詳細については、「孤立したドキュメントが存在しないことを確認する」を参照してください。
定義
cleanupOrphanedバージョン 8.0 から非推奨。
次のコマンドを使用して、シャードキーの から
MinKeyまでのチャンク範囲内のMaxKey孤立したドキュメント を待機します。MongoDBは、シャードのノードの過半数から指定された名前空間をクリーンアップします。注意
このコマンドは孤立したドキュメントを直接クリーンアップすることはなく、指定された範囲内の孤立したドキュメントのクリーンアップを待ちます。MongoDB が孤立したドキュメントをクリーンアップする方法の詳細については、 シャードクラスタバランサー を参照してください。
を実行するには、シャードのプライマリレプリカセットノードである
mongodインスタンスのadminデータベースでcleanupOrphanedを直接発行します。cleanupOrphanedを実行中する前に、バランサーを無効にする必要はありません。注意
mongosインスタンスでcleanupOrphanedを実行 しないでください 。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
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で実行中されているシステムでは、 cleanupOrphanedを実行するにはclusterAdmin特権が必要です。
出力
Return Document
各cleanupOrphanedコマンドは、次のフィールドのサブセットを含むドキュメントを返します。