コレクションのシャードキーを調整すると、よりきめの細かいデータ分散が可能になり、濃度が十分でないために既存のキーがジャンボ チャンクになる状況に対処できます。
警告
現在のシャードキー フィールドの範囲またはハッシュされたタイプは変更 しない でください。 データの不整合が発生します。 たとえば、シャードキーを { customer_id: 1 }から{ customer_id:
"hashed", order_id: 1 }に変更 しないでください 。
注意
MongoDB 5.0以降では、コレクションに新しいシャードキーを提供して、コレクションを再シャーディングすることもできます。 コレクションを再シャーディングすべきか、シャードキーを改善すべきかについては、 シャードキーの変更 を参照してください。
コレクションのシャードキーを調整するには、 refineCollectionShardKeyコマンドを使用します。 refineCollectionShardKeyは、新しいシャードキーを作成するために、既存のキーにサフィックス フィールドを追加します。
たとえば、シャードキー{ customer_id: 1 }を持つtestデータベースに既存のordersコレクションがある場合があります。 refineCollectionShardKeyコマンドを使用して、シャードキーを新しいシャードキー{ customer_id: 1, order_id: 1 }に変更できます。
db.adminCommand( { refineCollectionShardKey: "test.orders", key: { customer_id: 1, order_id: 1 } } )