単一フィールド インデックス
Overview
単一フィールド インデックスは、コレクションのドキュメント内の単一のフィールドを参照するインデックスです。 単一フィールド クエリとソートのパフォーマンスが向上し、一定時間の経過後または特定のクロック時間にコレクションからドキュメントを自動的に排除するTTL インデックスをサポートします。
単一フィールド インデックスを作成する場合は、以下を指定する必要があります。
インデックスを作成するフィールド
インデックス値の並べ替え順序(昇順または降順)
注意
_id_
インデックスは、単一フィールド インデックスの例です。 このインデックスは、新しいコレクションが作成されるときに、 _id
フィールドに自動的に作成されます。
サンプル データ
このガイドの例では、 Atlas サンプル データセットのsample_mflix
データベースのmovies
コレクションを使用します。 MongoDB Atlas クラスターを無料で作成して、サンプル データセットをロードする方法については、 「 Atlas を使い始める 」ガイドを参照してください。
次の Kotlin データ クラスは、このコレクション内のドキュメントをモデル化します。
data class Movie( val id: ObjectId, val title: String? = "", val type: String? = "", val genres: List<String>? = null, val cast: List<String>? = null, val plot: String? = "", )
単一フィールド インデックスの作成
次の例では、 title
フィールドに昇順のインデックスを作成します。
collection.createIndex(Indexes.ascending(Movie::title.name))
以下は、前のコード例で作成されたインデックスによってカバーされるクエリの例です。
val filter = Filters.eq(Movie::title.name, "Batman") val sort = Sorts.ascending(Movie::title.name) val results = collection.find(filter).sort(sort) results.forEach { result -> println(result) }
Movie(id=573a1398f29313caabceb515, title=Batman, ...)
詳細情報
単一フィールド インデックスの詳細については、 MongoDB Serverマニュアルの「 単一フィールド インデックス 」を参照してください。
API ドキュメント
このガイドで説明されているメソッドの詳細については、次の API ドキュメントを参照してください。