Construtores de índices
Nesta página
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 Indexes
classe 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().
Dica
Por questões de brevidade, você pode optar por importar todos os métodos dos Índices classe:
import com.mongodb.client.model.Indexes.*
Dica
Métodos de construtor e propriedades de classe de dados
Você pode usar os métodos de classes de construtores diretamente com propriedades de classe de dados adicionando a dependência opcional de extensões de driver Kotlin ao seu aplicação. Para saber mais e ver exemplos, consulte o guia Use Builders with Data Classes.
Í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 ascendente() método construtor para criar uma Bson
instância que representa o documento de índice, passando o nome ou 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 descendente() método construtor para criar uma Bson
instância que representa o documento de índice, passando o nome ou 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 compoundIndex() método construtor para criar uma Bson
instância 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 text() método construtor 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 hashed() método construtor 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 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 geo2dsphere() método construtor para criar uma Bson
instância que representa o documento de índice, passando o nome ou 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