Docs Menu
Docs Home
/ / /
Kotlin Sync Driver
/ /

Single-Field Indexes

On this page

  • Overview
  • Sample Data
  • Create Single-Field Index
  • Additional Information
  • API Documentation

Single-field indexes are indexes with a reference to a single field within a collection's documents. They improve single field query and sort performance, and support TTL Indexes that automatically remove documents from a collection after a certain amount of time or at a specific clock time.

When creating a single-field index, you must specify the following:

  • The field on which to create the index

  • The sort order for the indexed values (ascending or descending)

Note

The _id_ index is an example of a single-field index. This index is automatically created on the _id field when a new collection is created.

The examples in this guide use the movies collection in the sample_mflix database from the Atlas sample datasets. To learn how to create a free MongoDB Atlas cluster and load the sample datasets, see the Get Started with Atlas guide.

The following Kotlin data class models the documents in this collection:

data class Movie(
@BsonId
val id: ObjectId,
val title: String? = "",
val type: String? = "",
val genres: List<String>? = null,
val cast: List<String>? = null,
val plot: String? = "",
)

The following example creates an index in ascending order on the title field:

collection.createIndex(Indexes.ascending(Movie::title.name))

The following is an example of a query that is covered by the index created in the preceding code example:

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, ...)

To learn more about single-field indexes, see Single Field Indexes in the MongoDB Server manual.

To learn more about any of the methods discussed in this guide, see the following API documentation:

Back

Work with Indexes