翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
単一フィールドインデックス
単一フィールドインデックスは、ドキュメントのコレクション内の任意の単一フィールドからの情報を保存します。デフォルトでは、すべてのコレクションには _idフィールドにインデックスがあります。インデックスを追加して、重要なクエリとオペレーションを高速化できます。
単一フィールドインデックスは、次の場合に有益です。
-
アプリケーションは、特定のフィールドの値に基づいてドキュメントを頻繁にクエリまたはフィルタリングします。
-
特定のフィールドでドキュメントを効率的にソートする必要があります。
-
一意のインデックスを作成して、コレクション内のドキュメント間で特定のフィールドの一意性を確保したい。
サポートされているインデックスプロパティ
| オプション | 3.6 | 4.0 | 5.0 | 8.0 | Elastic クラスター |
|---|---|---|---|---|---|
| name | はい | はい | はい | はい | はい |
| 一意 | はい | はい | はい | はい | はい |
| スパース * | はい | はい | はい | はい | はい |
| partialFilterExpression * | いいえ | なし | はい | はい | いいえ |
| expireAfterSeconds | はい | はい | はい | はい | はい |
* sparseおよび partialFilterExpressionオプションは、同じインデックス定義で一緒に使用することはできません。これらのオプションを使用してインデックスを作成しようとすると、次のエラーで失敗します。
Error in specification: cannot mix partialFilterExpression and sparse options
単一のフィールドインデックスの作成
createIndex() メソッドを使用して、単一のフィールドインデックスを作成します。構文は次のとおりです:db.collection.createIndex(<key>, <options>)
key パラメータは、 フィールドとインデックスのソート順序を指定する JSON ドキュメントです。
{ "<field>": <1 (ascending)|-1 (descending)> }
options パラメータは、インデックスのオプションを指定する JSON ドキュメントです。
{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression>, "expireAfterSeconds": <seconds before expiry> }
単一フィールドインデックスの作成例については、「インデックスプロパティ」を参照してください。