Overview
Los índices de múltiples claves son índices que mejoran el rendimiento de las queries en campos con valores de arreglos. Puedes crear un índice multiclave en una colección utilizando el método MongoDB\Collection::createIndex() y la misma sintaxis que se usa para crear índices de campo único o compuestos.
Datos de muestra
Los ejemplos de esta guía utilizan la colección movies en la base de datos sample_mflix de los conjuntos de datos de muestra de Atlas. Para aprender a crear una implementación gratuita de MongoDB y cargar los conjuntos de datos de muestra, consulte la guía Empezando con MongoDB.
Crear un índice multiclave
Usa el método MongoDB\Collection::createIndex() para crear un índice multiclave. El siguiente ejemplo crea un índice en orden ascendente sobre el campo cast con valores de arreglo:
$indexName = $collection->createIndex(['cast' => 1]);
El siguiente es un ejemplo de una query que está cubierta por el índice creado en el ejemplo 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"],...}
Información Adicional
Los índices Multikey funcionan de manera diferente a otros índices en términos de cobertura de consultas, cálculo de límites del índice y comportamiento de ordenación. Para obtener más información sobre el comportamiento y las limitaciones de los índices multiclave, consulta Índices Multiclave en el manual de MongoDB Server.
Para ver ejemplos ejecutables que demuestran cómo gestionar índices, consulte Índices para la optimización de query.
Documentación de la API
Para obtener más información sobre cualquiera de los métodos mencionados en esta guía, consulta la siguiente documentación de la API: