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