Overview
Los índices compuestos contienen referencias a múltiples campos dentro de los documentos de una colección. Estos índices mejoran el rendimiento de las consultas y la ordenación multicampo.
Para crear un índice compuesto, llame al método create_index() método y especificar un documento que contenga la siguiente información:
Campos sobre los que crear el índice.
Orden de clasificación de los valores indexados. Utilice ``1`` para orden ascendente o
-1para orden descendente.
Datos de muestra
Los ejemplos de esta guía utilizan la colección movies en la base de datos sample_mflix de la Conjuntos de datos de muestra de Atlas. Para acceder a esta colección desde su aplicación C++, cree una mongocxx::client instancia de que se conecte a un clúster de Atlas y asigne los siguientes valores a las variables db collection y:
auto db = client["sample_mflix"]; auto collection = db["movies"];
Para aprender cómo crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de muestra, consulte 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 consulta 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;
{ "_id" :..., "plot" : "Peter Pan enters the nursery of the Darling children...", ..., "year" : 1924, "imdb" : ..., "type", "movie",...}
Información Adicional
Para ver ejemplos ejecutables que demuestran cómo administrar índices, consulte Indexes.
Para obtener más información sobre los índices, consulte los siguientes recursos en el manual de MongoDB Server:
Documentación de la API
Para obtener más información sobre los métodos analizados en esta guía, consulte la siguiente documentación de API: