Menu Docs
Página inicial do Docs
/ / /
Kotlin Coroutine
/ /

Construtores de índices

Nesta página

  • Visão geral
  • Índices crescentes
  • Índices decrescentes
  • Índices compostos
  • Text Indexes
  • Índices com hash
  • Índices geoespaciais

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:

  • Índices crescentes

  • Índices decrescentes

  • Índices compostos

  • Text Indexes

  • Índices com hash

  • Índices geoespaciais

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.

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

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

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

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

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

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

Voltar

Filtros