定義
sh.moveChunk(namespace, query, destination)によって指定されたドキュメントを含む チャンクを
querydestinationシャードに移動します。sh.moveChunk()はmoveChunkデータベースコマンドを囲むラッパーを提供します。重要
ほとんどの場合、バランサーがチャンクを直接移行することを許可し、
sh.moveChunk()を直接呼び出すのは避けてください。重要
mongosh メソッド
このページでは、
mongoshメソッドについて記載しています。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
moveChunkコマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
sh.moveChunk()以下の引数を取ります。Parameterタイプ説明namespacestring
移行するチャンクを含むシャーディングされたコレクションの名前空間。
queryドキュメント
移動するチャンクを選択するシャードキーの等価一致。
destinationstring
移動するシャードの名前。
デフォルトでは、チャンク内のドキュメント数が、構成されたチャンク サイズを平均ドキュメント サイズで割った結果の1.3倍を超える場合、MongoDB はチャンクを移動できません。
moveChunkコマンドでforceJumboオプションを指定すると、ジャンボラベルの有無にかかわらず、移動できないほど大きいチャンクの手動移行を可能にできます。 詳細については、 moveChunkコマンドを参照してください。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M 0 、M 2 、M 5クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
例
recordsデータベースのpeopleコレクションがある場合、次の操作では、 zipcodeフィールドが53187に設定されているドキュメントを含むチャンクが検索され、そのチャンクがshard0019という名前のシャードに移動されます。
sh.moveChunk("records.people", { zipcode: "53187" }, "shard0019")