Trabalhar com Índices
Nesta página
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. O MongoDB 4.2 introduziu índices curinga para ajudar a apoiar 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
A partir do MongoDB 4.2, 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: