AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

シャーディングされたクラスターでのチャンクの分裂

MongoDB はクラスター全体にデータを均等に分散するためにチャンクを自動的に分割し、AutoMergerは同じシャード上に存在する隣接するチャンクを自動的にマージします。

チャンクを手動で分割するには、フィールドmiddleまたはfindのいずれかを指定してsplitコマンドを使用します。 mongoshはヘルパー メソッドsh.splitFind()sh.splitAt()を提供します。

splitFind()は、このクエリに一致するとして返された最初のドキュメントを含むチャンクを、同じサイズの 2 つのチャンクに分割します。 完全な名前空間( シャーディングされたコレクションの「 <database>.<collection> 」をsplitFind()に置き換えます。 splitFind()のクエリではシャードキーを使用する必要はありませんが、ほとんどの場合、シャードキーを使用する方が合理的です。

次のコマンドは、 recordsデータベースのpeopleコレクション内にあるzipcodeフィールドの63109の値を含むチャンクを分割します。

sh.splitFind( "records.people", { "zipcode": "63109" } )

splitAt()を使用して、クエリされたドキュメントを新しいチャンクの下限として使用し、チャンクを 2 に分割します。

次のコマンドは、 recordsデータベースのpeopleコレクション内にあるzipcodeフィールドの63109の値を含むチャンクを分割します。

sh.splitAt( "records.people", { "zipcode": "63109" } )

注意

splitAt() では、チャンクは必ずしも同じサイズの 2 つに分割される必要はありません。 分裂は、ドキュメントがチャンク内のどこにあるかに関係なく、クエリに一致するドキュメントの場所で行われます。