Visão geral
Índices compostos são índices que contêm referências a vários campos dentro dos documentos de uma coleção. Esses índices melhoram a consulta de vários campos e o desempenho de classificação.
Para criar um índice composto, chame o método create_index() e especifique um documento contendo as seguintes informações:
Campos nos quais criar o índice.
Ordem de classificação para os valores indexados. Use ``1`` para ascendente ou
-1para descendente.
Dados de amostra
The examples in this guide use the movies collection in the sample_mflix database from the Atlas sample datasets. To access this collection from your C++ application, instantiate a mongocxx::client that connects to an Atlas cluster and assign the following values to your db and collection variables:
auto db = client["sample_mflix"]; auto collection = db["movies"];
Para aprender a criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o Guia de Introdução do MongoDB.
Criar índice composto
O exemplo seguinte cria um índice composto ascendente nos campos title e year:
auto index_specification = make_document(kvp("title", 1), kvp("year", 1)); auto result = collection.create_index(index_specification.view());
A seguinte query é coberta pelo índice criado no exemplo 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;
Informações adicionais
Para ver exemplos executáveis que demonstram como gerenciar índices, consulte Otimizar queries com índices.
Para saber mais sobre índices, consulte os seguintes recursos no manual do MongoDB Server :
Documentação da API
Para saber mais sobre os métodos discutidos neste guia, consulte a seguinte documentação da API: