As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Índices de campo único
Os índices de campo único armazenam informações de qualquer campo único em uma coleção de documentos. Por padrão, todas as coleções têm um índice no _id campo. Você pode adicionar índices adicionais para acelerar consultas e operações importantes.
Índices de campo único são benéficos quando:
-
Seu aplicativo frequentemente consulta ou filtra documentos com base nos valores de um campo específico.
-
Você precisa classificar documentos com eficiência por um campo específico.
-
Você deseja garantir a exclusividade de um campo específico em todos os documentos de uma coleção criando um índice exclusivo.
Propriedades de índice suportadas
| Opção | 3.6 | 4,0 | 5,0 | 8.0 | Cluster elástico |
|---|---|---|---|---|---|
| name | Sim | Sim | Sim | Sim | Sim |
| único | Sim | Sim | Sim | Sim | Sim |
| esparso * | Sim | Sim | Sim | Sim | Sim |
| parcial FilterExpression * | Não | Não | Sim | Sim | Não |
| expirar AfterSeconds | Sim | Sim | Sim | Sim | Sim |
* As partialFilterExpression opções sparse e não podem ser usadas juntas na mesma definição de índice. Se você tentar criar um índice com essas opções, ele falhará com o seguinte erro:
Error in specification: cannot mix partialFilterExpression and sparse options
Criação de um único índice de campo
Use o createIndex() método para criar um único índice de campo. A sintaxe é: db.collection.createIndex(<key>, <options>).
O key parâmetro é um documento JSON que especifica o campo e a ordem de classificação do índice:
{ "<field>": <1 (ascending)|-1 (descending)> }
O options parâmetro é um documento JSON que especifica as opções para o índice:
{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression>, "expireAfterSeconds": <seconds before expiry> }
Consulte Propriedades do índice para ver exemplos de criação de índices de campo único.