Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Ruby Driver
/

Índices de campo único

Índices de campo único são índices com uma referência a um único campo de um documento em uma coleção. Esses índices melhoram a consulta de campo único e o desempenho de classificação. Elas também suportam índices TTL que removem automaticamente documentos de uma collection após um determinado período de tempo ou em um horário especificado.

Ao criar um índice de campo único, você deve especificar os seguintes detalhes:

  • O campo no qual criar o índice

  • A ordem de classificação para os valores indexados como crescente ou decrescente

Observação

O índice _id_ padrão é um exemplo de um índice de campo único. Este índice é criado automaticamente no campo _id quando uma nova coleção é criada.

Os exemplos neste guia usam a collection movies no banco de dados sample_mflix dos conjuntos de dados de amostra do Atlas. Para acessar essa coleção a partir do seu aplicação Ruby, crie um objeto Mongo::Client que se conecte a um Atlas cluster e atribua os seguintes valores às suas variáveis database e collection:

database = client.use('sample_mflix')
collection = database[:movies]

Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia Iniciar com Atlas .

Utilize o método create_one para criar um índice de campo único. O exemplo seguinte cria um índice em ordem crescente no campo title :

# Creates an index on the "title" field
collection.indexes.create_one({ title: 1 })

Você pode verificar se o índice foi criado listando os índices na collection. Você deve ver um índice para title na lista, conforme mostrado na seguinte saída:

# Lists all indexes on the collection
puts collection.indexes.collect(&:to_json)
{"v": 2, "key": {"title": 1}, "name": "title_1"}

O seguinte é um exemplo de uma query coberta pelo índice criado no campo title :

# Finds a document with the title "Sweethearts" by using the newly created index
filter = { title: 'Sweethearts' }
doc = collection.find(filter).first
if doc
puts doc.to_json
else
puts "No document found"
end
{"_id":...,"plot":"A musical comedy duo...",
"genres":["Musical"],...,"title":"Sweethearts",...}

Para ver exemplos executáveis que demonstram como gerenciar índices, consulte Otimizar queries usando índices.

Para saber mais sobre índices de campo único, consulte Índices de campo único no manual do MongoDB Server .

Para saber mais sobre qualquer um dos métodos discutidos nesta guia, consulte a seguinte documentação da API:

Voltar

Indexes

Nesta página