sh.moveChunk()
定義
sh.moveChunk(namespace, query, destination)
query
によって指定されたドキュメントを含むチャンクをdestination
シャードに移動します。sh.moveChunk()
はmoveChunk
データベースコマンドを囲むラッパーを提供します。重要
ほとんどの場合、バランサーがチャンクを直接移行することを許可し、
sh.moveChunk()
を直接呼び出すのは避けてください。警告
このコマンドは、
moveChunk
コマンドのfind
オプションを使用するため、ハッシュされたシャードキーには使用できません。 ハッシュされたシャードキーを使用してチャンクを移動するには、bounds
フィールドを指定するmoveChunk
コマンドを使用します。重要
mongosh メソッド
このページでは、
mongosh
メソッドについて記載しています。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
moveChunk
コマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
sh.moveChunk()
以下の引数を取ります。Parameterタイプ説明namespace
string
移行するチャンクを含むシャーディングされたコレクションの名前空間。
query
ドキュメント
移動するチャンクを選択するシャードキーの等価一致。
destination
string
移動するシャードの名前。
デフォルトでは、チャンク内のドキュメント数が、構成されたチャンク サイズを平均ドキュメント サイズで割った結果の2倍を超える場合、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")