Menu Docs
Página inicial do Docs
/ / /
Driver de sincronização Kotlin

Otimizar consultas usando índices

Nesta página

  • Visão geral
  • Aplicativo de amostra
  • Índice de campo único
  • Índice composto
  • Índice Multichave
  • Índice Geoespacial
  • índice único
  • Índice curinga
  • Índices Agrupado
  • Gerenciamento do índice do Atlas Search
  • Criar Índice de Atlas Search
  • Listar índices de pesquisa
  • Atualizar índices de pesquisa
  • Excluir índices Atlas Search
  • Índice de texto
  • Excluir um índice.

Nesta página, você pode ver exemplos de código copiáveis que mostram como gerenciar diferentes tipos de índices usando o driver Kotlin Sync.

Dica

Para saber mais sobre como trabalhar com índices, consulte o guiaTrabalhar com índices . Para saber mais sobre qualquer um dos índices mostrados nesta página, consulte o link fornecido em cada seção.

Para usar um exemplo desta página, copie o exemplo de código para oaplicativo de amostra ou para seu próprio aplicativo. Certifique-se de substituir todos os espaços reservados nos exemplos de código, como <connection string URI>, pelos valores relevantes para sua implantação do MongoDB.

Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:

  1. Verifique se você tem o driver Kotlin Sync instalado em seu projeto Maven ou Gradle.

  2. Copie o seguinte código e cole-o em um novo arquivo .kt .

  3. Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.

1import com.mongodb.ConnectionString
2import com.mongodb.MongoClientSettings
3import com.mongodb.client.model.*
4import com.mongodb.kotlin.client.*
5import org.bson.Document
6
7fun main() {
8 val uri = "<connection string URI>"
9
10 val settings = MongoClientSettings.builder()
11 .applyConnectionString(ConnectionString(uri))
12 .retryWrites(true)
13 .build()
14
15 // Create a new client and connect to the server
16 val mongoClient = MongoClient.create(settings)
17 val database = mongoClient.getDatabase("<database name>")
18 val collection = database.getCollection<Document>("<collection name>")
19
20 // Start example code here
21
22 // End example code here
23}

O exemplo seguinte cria um índice ascendente no campo especificado:

collection.createIndex(Indexes.ascending("<field name>"))

Para saber mais sobre índices de campo único, consulte o guia Índices de campo único .

O exemplo seguinte cria um índice composto nos campos especificados:

collection.createIndex(Indexes.ascending("<field name 1>", "<field name 2>"))

Para saber mais sobre índices compostos, consulte o guia Índices compostos .

O exemplo a seguir cria um índice de múltiplas chaves no campo com valor de array especificado:

collection.createIndex(Indexes.ascending("<array field name>"))

O exemplo seguinte cria um índice dsphere do 2no campo especificado que contém objetos GeoJSON:

collection.createIndex(Indexes.geo2dsphere("<GeoJSON object field>"))

O exemplo seguinte cria um índice único no campo especificado:

val indexOptions = IndexOptions().unique(true)
collection.createIndex(Indexes.ascending("<field name>"), indexOptions)

O exemplo seguinte cria um índice curinga na coleção especificada:

collection.createIndex(Indexes.ascending("$**"))

O exemplo seguinte cria uma nova coleção com um índice agrupado no campo _id :

val clusteredIndexOptions = ClusteredIndexOptions(
Indexes.ascending("_id"),
true
)
val collection = database.createCollection("<collection name>", clusteredIndexOptions)

As seções a seguir contêm exemplos de código que descrevem como gerenciar índices de Atlas Search.

Para saber mais sobre os índices do Atlas Search, consulte o guia Índices do Atlas Search .

O exemplo seguinte cria um índice do Atlas Search no campo especificado:

val index = Document("mappings", Document("dynamic", true))
collection.createSearchIndex("<index name>", index)

Para saber mais sobre como criar índices de pesquisa, consulte o guia Criar um índice do Atlas Search .

O exemplo abaixo imprime uma lista de índices do Atlas Search na collection especificada:

val results = collection.listSearchIndexes()
results.forEach { result ->
println(result)
}

Para saber mais sobre como listar índices do Atlas Search , consulte o guia Listar índices do Atlas Search .

O exemplo seguinte atualiza um índice do Atlas Search existente com a nova definição de índice especificada:

val newIndex = Document("mappings", Document("dynamic", true))
collection.updateSearchIndex("<index name>", newIndex)

Para saber mais sobre como atualizar índices do Atlas Search , consulte o guia Atualizar um índice do Atlas Search .

O exemplo seguinte exclui um índice do Atlas Search com o nome especificado:

collection.dropIndex("<index name>")

Para saber mais sobre como excluir índices do Atlas Search , consulte o guia Excluir um índice do Atlas Search .

O exemplo seguinte cria um índice de texto no campo de string especificado:

collection.createIndex(Indexes.text("<field name>"))

O exemplo a seguir exclui um índice com o nome especificado:

collection.dropIndex("<index name>")

Voltar

Monitorar alterações de dados

Próximo

Trabalhar com Índices