Multikey Indexes
Nesta página
Visão geral
Índices multichave são índices que melhoram o desempenho de queries em campos com valor de array. É possível criar um índice de múltiplas chaves em uma collection usando o método MongoDB\Collection::createIndex()
e a mesma sintaxe usada para criar campo únicos ou índices compostos.
Dados de amostra
Os exemplos neste guia utilizam a coleção do movies
no banco de dados de dados do sample_mflix
a partir dos conjuntos de dados de amostra do Atlas. Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia Iniciar com Atlas .
Criar um índice de múltiplas chaves
Utilize o método MongoDB\Collection::createIndex()
para criar um índice de múltiplas chaves. O exemplo a seguir cria um índice em ordem crescente no campo cast
com valor de array :
$indexName = $collection->createIndex(['cast' => 1]);
O seguinte é um exemplo de uma consulta coberta pelo índice criado no exemplo de código anterior:
$document = $collection->findOne( ['cast' => ['$in' => ['Aamir Khan', 'Kajol']]] ); echo json_encode($document), PHP_EOL;
{"_id":...,"title":"Holi",...,"cast":["Ashutosh Gowariker", "Aamir Khan","Rahul Ranade","Sanjeev Gandhi"],...}
Informações adicionais
Os índices multicamadas se comportam de forma diferente de outros índices em termos de cobertura de consulta, computação vinculada a índice e comportamento de classificação. Para saber mais sobre o comportamento e as limitações dos índices de várias chaves, consulte Índices de várias chaves no manual do MongoDB Server .
Para exibir exemplos executáveis que demonstram como gerenciar índices, consulte Otimizar queries usando índices.
Documentação da API
Para saber mais sobre qualquer um dos métodos discutidos nesta guia, consulte a seguinte documentação da API: