Menu Docs

Índices de campo único

Os índices de campo único armazenam informações de um único campo em uma coleção. Por padrão, todas as coleções têm um índice no campo _id. Você pode adicionar índices adicionais para acelerar queries e operações importantes.

É possível criar um índice de campo único em qualquer campo em um documento, incluindo:

  • Campos de documento de nível superior

  • Documentos incorporados

  • Campos dentro de documentos incorporados

Ao criar um índice, você especifica:

  • O campo no qual criar o índice.

  • A ordem de classificação para os valores indexados (crescente ou decrescente).

    • Uma ordem de classificação de 1 classifica os valores em ordem crescente.

    • Uma ordem de classificação de -1 classifica os valores em ordem decrescente.

Importante

Usar um índice de campo único descendente pode impacto negativamente o desempenho do índice. Para obter o melhor desempenho, use somente índices de campo único ascendentes.

Para criar um índice de campo único, utilize o seguinte protótipo:

db.<collection>.createIndex( { <field>: 1 } )

Esta imagem mostra um índice crescente em um campo único, score:

Diagram of an index on the ``score`` field (ascending).

Neste exemplo, cada documento na collection que tem um valor para o campo score é adicionado ao índice em ordem crescente.

Se seu aplicativo executar queries repetidamente no mesmo campo, poderá criar um índice nesse campo para melhorar o desempenho. Por exemplo, seu departamento de recursos humanos geralmente precisa procurar funcionários pelo ID do funcionário . Você pode criar um índice no campo ID do funcionário para melhorar o desempenho dessa query.

A indexação de campos comumente consultados aumenta as chances de cobrir essas queries. As queries cobertas são queries que podem ser totalmente satisfeitas usando um índice, sem examinar nenhum documento. Isso otimiza o desempenho da query.

Para criar um índice em um campo único, consulte estes exemplos: