インデックスのプロパティ
インデックス プロパティは、クエリ プランナーがインデックスを使用する方法と、インデックス付きドキュメントがどのように保存されるかに影響します。 インデックスを作成するときに、任意のパラメータとしてインデックス プロパティを指定できます。
次のセクションでは、インデックスを構築するときに指定できるインデックス プロパティについて説明します。
注意
すべてのインデックス タイプがすべてのインデックス プロパティと互換性があるわけではありません。
大文字と小文字を区別しないインデックス
大文字と小文字を区別しないインデックスは、大文字と小文字を考慮せずにstring に対するクエリをサポートします。
Hidden Indexes
非表示にされたインデックスはクエリ プランナーには表示されず、クエリのサポートに使用することはできません。
非表示のインデックス を使用すると、実際にインデックスを削除せずに、インデックスを削除した場合の潜在的な影響を評価できます。 影響がマイナスの場合は、削除されたインデックスを再度作成する必要がある代わりに、インデックスを再表示できます。 非表示のインデックスは完全に維持され、非表示が解除されたらすぐに使用できます。
部分インデックス
部分インデックスは、指定されたフィルター式を満たすコレクション内のドキュメントのみをインデックスします。 部分インデックスを使用すると、ストレージ必要量が少なくなり、インデックスの作成と維持の実行コストが減少します。
部分インデックスは 、スパースインデックスの機能のスーパーセットを提供するため、スパースインデックスよりも優先され、
Sparse Indexes
スパース インデックスには、インデックス フィールドを持つドキュメントのエントリのみが含まれます。 これらのインデックスは、インデックス付きフィールドがないドキュメントをスキップします。
TTL Indexes
TTL インデックスは一定時間の経過後にコレクションからドキュメントを自動的に削除します。 これらのインデックスは、マシンが生成したイベント データ、ログ、セッション情報など、一定時間のみ保持する必要があるデータに使用します。
Unique Indexes
一意なインデックスにより、MongoDB はインデックス フィールドの重複値を拒否します。 これらのインデックスは、ドキュメントに userId
などの一意の識別子が含まれている場合に便利です。