Menu Docs
Página inicial do Docs
/ / /
Ruby Driver
/

Multikey Indexes

Índices multichave são índices que melhoram o desempenho de queries em campos com valor de array. Você pode criar um índice de múltiplas chaves em uma coleção utilizando o create_one método e a mesma sintaxe que você utiliza para criar um índice de campo único do.

Ao criar um índice de múltiplas chaves, você deve especificar os seguintes detalhes:

  • Os campos nos quais criar o índice

  • A ordem de classificação para cada campo (crescente ou decrescente)

Os exemplos neste guia utilizam a coleção do movies no banco de dados do sample_mflix a partir dosconjuntos 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 múltiplas chaves. O exemplo seguinte cria um índice em ordem crescente no campo cast :

collection.indexes.create_one({ cast: 1 })

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

puts collection.indexes.collect(&:to_json)
{"v": 2, "key": {"cast": 1}, "name": "cast_1"}

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

filter = { cast: { '$all' => ['Aamir Khan', 'Kajol'] } }
doc = collection.find(filter).first
if doc
puts doc.to_json
else
puts "No document found"
end
{"_id":...,"title":"Fanaa",...,"cast": ["Aamir Khan", "Kajol", "Rishi Kapoor", "Tabu"],...}

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

Para saber mais sobre índices de várias chaves, consulte Índices de várias chaves 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

composto

Nesta página