Overview
Los índices compuestos contienen referencias a varios campos dentro de los documentos de una colección, mejorando el rendimiento de las consultas y el ordenamiento. Puedes crear un índice compuesto en una colección mediante el uso de la MongoDB\Collection::createIndex() método y la misma sintaxis que usas para crear índices de campo único.
Datos de muestra
Los ejemplos de esta guía usan la colección movies en la base de datos sample_mflix de la 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 de introducción a MongoDB.
Crear un índice compuesto
Utilice el método MongoDB\Collection::createIndex() para crear un índice compuesto. El siguiente ejemplo crea un índice en orden ascendente en los campos title y year:
$indexName = $collection->createIndex( ['title' => 1, 'year' => 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([ 'title' => ['$regex' => 'Sunrise'], 'year' => ['$gte' => 1990], ]); echo json_encode($document), PHP_EOL;
{"_id":...,"title":"Before Sunrise",...,"year":1995,...}
Información Adicional
Para saber más sobre los índices compuestos, consulta Índices Compuestos en el manual del MongoDB Server.
Para ver ejemplos ejecutables que demuestran cómo administrar índices, consulte Índices para la optimización de consultas.
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: