Índices compostos
Nesta página
Visão geral
Os índices compostos contêm referências a vários campos dentro dos documentos de uma collection, melhorando o desempenho de query e classificação. Você pode criar um índice composto em uma coleção utilizando o método MongoDB\Collection::createIndex()
e a mesma sintaxe que você utiliza para criar índices de campo único.
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 composto
Utilize o método MongoDB\Collection::createIndex()
para criar um índice composto. O exemplo seguinte cria um índice em ordem crescente nos campos title
e year
:
$indexName = $collection->createIndex( ['title' => 1, 'year' => 1] );
O seguinte é um exemplo de uma consulta coberta pelo índice criado no exemplo de código anterior:
$document = $collection->findOne( ['title' => ['$regex' => 'Sunrise'], 'year' => ['$gte' => 1990]] ); echo json_encode($document), PHP_EOL;
{"_id":...,"title":"Before Sunrise",...,"year":1995,...}
Informações adicionais
Para saber mais sobre índices compostos, consulte Índices compostos 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: