Docs Menu
Docs Home
/ /

Índices compuestos

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 -1 para orden descendente.

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.

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",...}

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:

Para obtener más información sobre los métodos analizados en esta guía, consulte la siguiente documentación de API:

Volver

Índices de un solo campo

En esta página