Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver C++
/

Trabalhar com Índices

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.

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 .

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 .

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:

  • Índices de campo único

  • Índices compostos

  • Índices de pesquisa do Atlas

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.

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.

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("*");

Para saber mais sobre índices no MongoDB, consulte o guia Índices no manual do MongoDB Server .

Para saber mais sobre os métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API:

Voltar

Indexes

Nesta página