Visão geral
Neste guia, você pode aprender como usar índices com o driver C++ . Os índices podem melhorar a eficiência das queries e adicionar funcionalidades à consulta e ao armazenamento de documentos.
Sem índices, o MongoDB deve digitalizar todos os documento em uma collection para encontrar os documentos que correspondem a cada query. Se existir um índice apropriado para uma query, o MongoDB poderá usar o índice para limitar os documentos que deve inspecionar e melhorar o desempenho potencial da query.
Considerações operacionais
Para melhorar o desempenho da query, crie índices em campos que aparecem com frequência nas queries e operações do seu aplicativo que retornam resultados ordenados. Cada índice adicionado consome espaço em disco e memória quando ativo, portanto, recomendamos que você acompanhe a memória do índice e o uso do disco para o planejamento da capacidade. Além disso, quando uma operação de gravação atualiza um campo indexado, MongoDB também atualiza qualquer índice relacionado.
Como o MongoDB oferece suporte a esquemas dinâmicos, os aplicativos podem executar consulta dos campos cujos nomes não são conhecidos antecipadamente ou são arbitrários. Você pode usar índices curinga para suportar essas queries. Os índices curinga não são projetados para substituir o planejamento de índice baseado em volume de trabalho.
Para obter mais informações sobre como projetar seu modelo de dados e escolher os índices apropriados para seu aplicação, consulte o guia Modelagem de dados e índices no manual do MongoDB Server .
Dados de amostra
Os exemplos neste guia utilizam a coleção movies
no banco de dados do sample_mflix
a partir dos conjuntos de banco de dados de amostra do Atlas. Para acessar essa coleção a partir do seu aplicação C++ , instancie um mongocxx::client
que se conecte a um Atlas cluster e atribua os seguintes valores às suas variáveis db
e collection
:
auto db = client["sample_mflix"]; auto collection = db["movies"];
Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia Iniciar com Atlas .
Crie um índice
O MongoDB suporta vários tipos de índice para ajudar a consultar seus dados. As páginas a seguir descrevem diferentes tipos de índice e fornecem código de amostra para criar cada tipo de índice:
Remover um Índice
Você pode remover qualquer índice não utilizado, exceto o índice exclusivo padrão no campo _id
.
As seções a seguir fornecem exemplos que mostram como remover um ou mais índices de uma collection.
Remover um único índice
Para remover um único índice de uma coleção, chame o método drop_one()
e passe o nome do índice ou uma instância do índice que você deseja remover.
O exemplo seguinte remove um índice com o nome "title_1"
da coleção movies
:
collection.indexes().drop_one("title_1");
Observação
Não é possível remover um único campo de um índice de texto composto. Você deve soltar o índice inteiro e criar um novo para atualizar os campos indexados.
Remover todos os índices
Você pode soltar todos os índices ligando para o método drop_all()
na visualização de índice em sua coleção:
collection.indexes().drop_all();
Para versões anteriores do MongoDB, passe "*"
como parâmetro para sua chamada para drop_one()
na visualização de índice em sua collection:
collection.indexes().drop_one("*");
Informações adicionais
Para saber mais sobre índices no MongoDB, consulte o guia Índices no manual do MongoDB Server .
Documentação da API
Para saber mais sobre os métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: