Visão geral
Nesta página, você pode ver exemplos de código copiáveis que mostram como gerenciar diferentes tipos de índices usando o MongoDB Ruby Driver.
Para usar um exemplo desta página, copie o exemplo de código no aplicação de amostra ou em seu próprio aplicação. Certifique-se de substituir todos os espaços reservados nos exemplos de código, como <connection string>, pelos valores relevantes para sua implantação do MongoDB .
Aplicativo de amostra
Você pode usar o seguinte aplicação de amostra para testar o código nesta página. Para usar o aplicação de amostra , execute as seguintes etapas:
Verifique se o driver Ruby está instalado em seu projeto. Consulte o guia Download e instalação para saber mais.
Copie o seguinte código e cole-o em um novo arquivo
.rb.Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.
require 'mongo' # Replace the placeholders with your credentials uri = "<connection string>" # Sets the server_api field of the options object to Stable API version 1 options = { server_api: { version: "1" }} # Creates a new client and connect to the server client = Mongo::Client.new(uri, options) database = client.use('<database name>') collection = database[:<collection name>] # Start example code here # End example code here client.close
Índice de campo único
O exemplo seguinte cria um índice ascendente no campo especificado:
collection.indexes.create_one({ <field name>: 1 })
Para saber mais sobre índices de campo único, consulte o guia Índices de campo único .
Índice composto
O exemplo seguinte cria um índice composto nos dois campos especificados.
collection.indexes.create_one({ <field name 1>: -1, <field name 2>: 1 })
Para saber mais sobre índices compostos, consulte o guia Índices compostos .
Multikey Index
O exemplo a seguir cria um índice de múltiplas chaves no campo com valor de array especificado:
collection.indexes.create_one({ <field name>: 1 })
Para saber mais sobre índices de várias chaves, consulte o guia Índices de várias chaves.
Índice Geoespacial
O exemplo seguinte cria um índice dsphere do 2no campo especificado que contém objetos GeoJSON:
collection.indexes.create_one({ <GeoJSON field name>: '2dsphere' })
Para saber mais sobre índices geoespaciais, consulte o guia Índices geoespaciais .
Gerenciamento do índice de pesquisa do MongoDB
As seções a seguir contêm exemplos de código que descrevem como gerenciar índices de pesquisa MongoDB .
Para saber mais sobre índices de pesquisa, consulte o guia MongoDB Search e MongoDB Vector Search Indexes.
Criar Índice de Atlas Search
O exemplo a seguir cria um índice do MongoDB Search no campo especificado:
index_definition = { mappings: { dynamic: false, fields: { <field name>: { type: '<field type>' } } } } collection.search_indexes.create_one(index_definition, name: '<index name>')
Listar índices de pesquisa
O exemplo a seguir imprime uma lista de índices do MongoDB Search na coleção especificada:
puts collection.search_indexes.collect(&:to_json)
Atualizar índices de pesquisa
O exemplo a seguir atualiza um índice do MongoDB Search existente com a nova definição de índice especificada:
updated_definition = { mappings: { dynamic: false, fields: { <updated field name>: { type: '<updated field type>' } } } } collection.search_indexes.update_one(updated_definition, name: '<index name>')
Excluir índices Atlas Search
O exemplo a seguir exclui um índice do MongoDB Search com o nome especificado:
collection.search_indexes.drop_one(name: '<index name>')
Text Index
O exemplo seguinte cria um índice de texto no campo de string especificado:
collection.indexes.create_one({ <field name>: 'text' })
Para saber mais sobre índices de texto, consulte o guia Índices de texto .
Criar muitos índices
O exemplo a seguir cria vários índices na array fornecida de especificações de índice:
collection.indexes.create_many([ { key: { <field name 1>: 1 } }, { key: { <field name 2>: -1 } }, ])
Índice de queda
O exemplo a seguir exclui um índice com o nome especificado:
collection.indexes.drop_one( '<index name>' )
O exemplo a seguir mostra como excluir todos os índices em uma coleção:
collection.indexes.drop_all
Listar índices
O exemplo a seguir imprime uma lista de todos os índices na collection especificada:
puts collection.indexes.collect(&:to_json)
Opções de índice
A seguir está uma lista completa das opções disponíveis que você pode adicionar ao criar índices. Estas opções espelham as opções suportadas pelo comando createIndex. Para obter mais informações, consulte o comando createIndex no manual do MongoDB Server.
Opção | Descrição |
|---|---|
|
|
| Número de segundos para expirar o documento na collection depois. |
| O nome do índice. |
| Se o índice deve ser esparso ou não, |
| O nome do storage engine para este índice específico. |
| A versão do formato de índice a ser usada. |
| O idioma padrão dos índices de texto. |
| O nome do campo a ser usado ao substituir o idioma padrão. |
| O formato de versão para armazenamento de índice de texto. |
| Um documento que especifica campos e pesos na pesquisa de texto. |
| A versão 2d do índice de esferas. |
| Define o limite máximo para latitude e longitude no índice 2d. |
| Limite máximo para latitude e longitude no índice 2d. |
| Limite mínimo para latitude e longitude no índice 2d. |
| O número de unidades dentro das quais agrupar os valores de localização em um índice geo haystack. |
| Um filtro para um índice parcial. |
| Um booleano especificando se o índice deve ser ocultado; um índice oculto é aquele que existe na collection, mas não será usado pelo planejador de query. |
| Especifique quantos membros portadores de dados de um conjunto de réplicas, incluindo o primary, devem concluir as construções dos índices com êxito antes que o primary marque os índices como prontos. Os valores em potencial são:
Para obter mais informações, consulte commitQuorom no manual do MongoDB Server. |
Documentação da API
Para saber mais sobre os métodos ou objetos usados neste guia, consulte a seguinte documentação da API: