Visão geral
Neste guia, você pode aprender como especificar índices utilizandoconstrutores do no MongoDB Kotlin Driver. O construtor do Indexes
fornece métodos de assistente para construir os seguintes tipos de índices:
Os índices armazenam um subconjunto do conjunto de dados da collection. O índice armazena o valor de um campo específico ou conjunto de campos, ordenado pelo valor do campo. Consulte nosso guia sobre índices para obter exemplos de query cobertas por índices.
A classe Indexes
fornece métodos de fábrica estáticos para todos os tipos de índice do MongoDB . Cada método retorna uma instância BSON, que você pode passar para createIndex().
Índices crescentes
Um índice ascendente permite classificar os resultados da query pelo valor dos campos indexados, do menor para o maior.
Para criar um índice ascendente, primeiro chame o método construtor ascendente para criar uma instância Bson
que represente o documento de índice, passando o nome ou os nomes dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
Observação
Se você tiver um índice ascendente ou descendente em um único campo, o MongoDB poderá classificar usando o índice em qualquer direção.
O exemplo seguinte especifica um índice ascendente no campo name
:
val ascendingIndex = Indexes.ascending("name") val indexName = collection.createIndex(ascendingIndex) println(indexName)
name_1
Índices decrescentes
Um índice decrescente permite classificar os resultados da query pelo valor dos campos indexados do maior para o menor.
Para criar um índice descendente, primeiro chame o método construtor descendente() para criar uma Bson
instância que represente o documento de índice, passando o nome ou os nomes dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
O exemplo a seguir especifica um índice decrescente no campo capacity
:
val descendingIndex = Indexes.descending("capacity") val indexName = collection.createIndex(descendingIndex) println(indexName)
capacity_-1
Índices compostos
Para criar um índice composto, primeiro chame o método construtor compoundIndex() para criar uma instância Bson
que representa o documento de índice, passando os nomes dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
O exemplo seguinte especifica um índice composto composto de índice descendente no campo capacity
e year
, seguido por um índice ascendente no campo name
:
val compoundIndexExample = Indexes.compoundIndex( Indexes.descending("capacity", "year"), Indexes.ascending("name") ) val indexName = collection.createIndex(compoundIndexExample) println(indexName)
capacity_-1_year_-1_name_1
Text Indexes
Um índice de texto agrupa documentos pelo texto no campo indexado.
Para criar um índice de texto, primeiro chame o método construtor de texto () para criar uma Bson
instância que representa o documento de índice, passando o nome dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
O exemplo seguinte especifica uma chave de índice de texto no campo theaters
:
val textIndex = Indexes.text("theaters") val indexName = collection.createIndex(textIndex) println(indexName)
theaters_text
Índices com hash
Um índice hash agrupa documentos pelo valor de hash no campo indexado.
Para criar um índice hashed, primeiro chame o método construtor hashed() para criar uma instância Bson
que representa o documento de índice, passando o nome dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
O exemplo seguinte especifica um índice hash no campo capacity
:
val hashedIndex = Indexes.hashed("capacity") val indexName = collection.createIndex(hashedIndex) println(indexName)
capacity_hashed
Índices geoespaciais
Um índice 2dsphere
agrupa documentos pelas coordenadas no campo indexado.
Para criar um 2dsphere
índice, primeiro chame o método construtor geo2dsphere() para criar uma Bson
instância que represente o documento de índice, passando o nome ou os nomes dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
O seguinte exemplo especifica um índice 2dsphere
no campo location
:
val geo2dsphereIndex = Indexes.geo2dsphere("location") val indexName = collection.createIndex(geo2dsphereIndex) println(indexName)
location_2dsphere