Menu Docs
Página inicial do Docs
/ / /
Driver de Kotlin Sync
/ /

Índices compostos

Nesta página

  • Visão geral
  • Dados de amostra
  • Criar um índice composto
  • Informações adicionais
  • Documentação da API

Os índices compostos contêm referências a vários campos nos documentos de uma coleção, melhorando o desempenho de consulta e classificação.

Ao criar um índice composto, você deve especificar o seguinte:

  • Os campos nos quais criar o índice

  • A ordem de classificação para cada campo (crescente ou decrescente)

Os exemplos neste guia utilizam a coleção movies no banco de dados do sample_mflix a partir dos conjuntos de banco de dados de amostra do Atlas. Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia Iniciar com Atlas .

A seguinte classe de dados Kotlin modela os documentos nesta coleção:

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? = "",
)

O exemplo seguinte cria um índice composto nos campos type e genre , com ambos os campos indexados em ordem crescente:

collection.createIndex(Indexes.ascending(Movie::type.name, Movie::genres.name))

Veja a seguir um exemplo de uma query que usa o índice criado na amostra de código anterior:

val filter = and(
eq(Movie::type.name, "movie"),
`in`(Movie::genres.name, "Drama")
)
val sort = Sorts.ascending(Movie::type.name, Movie::genres.name)
val results = collection.find(filter).sort(sort)
results.forEach { result ->
println(result)
}
Movie(id=573a1392f29313caabcda755, title=China Seas, type=movie, genres=[Action, Drama, Adventure], ...)
Movie(id=573a1392f29313caabcd9ca6, title=Scarface, type=movie, genres=[Action, Crime, Drama], ... )
Movie(id=573a1392f29313caabcdb258, title=The Hurricane, type=movie, genres=[Action, Drama, Romance], ...)
Movie(id=573a1391f29313caabcd820b, title=Beau Geste, type=movie, genres=[Action, Adventure, Drama], ...)
...

Para saber mais sobre índices compostos, consulte Índices compostos no manual do MongoDB Server .

Para saber mais sobre estratégias de indexação eficazes usando índices compostos, consulte A regra ESR no manual do MongoDB Server .

Para saber mais sobre qualquer um dos métodos discutidos nesta guia, consulte a seguinte documentação da API:

Voltar

Índices de campo único