Overview
Los índices compuestos son índices que contienen referencias a varios campos dentro de los documentos de una colección. Estos índices mejoran el rendimiento de queries y ordenamientos con múltiples campos.
Para crear un índice compuesto, ejecuta el método create_index() y especifica un documento que contenga la siguiente información:
Campos sobre los que crear el índice.
Orden de clasificación para los valores indexados. Utiliza``1`` para ascender o
-1para descender.
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 acceder a esta colección desde su aplicación C++, cree una instancia de mongocxx::client que se conecte a un clúster de Atlas y asigne los siguientes valores a sus variables db y collection:
auto db = client["sample_mflix"]; auto collection = db["movies"];
Para aprender a crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de muestra, consulta la guía de Introducción a MongoDB.
Crear índice compuesto
El siguiente ejemplo crea un índice compuesto ascendente en los campos title y year:
auto index_specification = make_document(kvp("title", 1), kvp("year", 1)); auto result = collection.create_index(index_specification.view());
La siguiente query está cubierta por el índice creado en el ejemplo de código anterior:
auto document = collection.find_one(make_document(kvp("title","Peter Pan"), kvp("year", 1924))); std::cout << bsoncxx::to_json(*document) << std::endl;
Información Adicional
Para ver ejemplos ejecutables que demuestran cómo gestionar índices, consulta Optimización de consultas con índices.
Para obtener más información acerca de los índices, consulta los siguientes recursos en el manual de MongoDB Server:
Documentación de la API
Para obtener más información sobre los métodos discutidos en esta guía, consulta la siguiente documentación de la API: