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á.
Multi-key Índices
Para campos que têm um valor de matriz, um índice de várias chaves permite criar uma chave de índice para cada elemento na matriz. A indexação de uma matriz cria uma entrada de índice para cada elemento da matriz.
Multi-key índices são benéficos quando seu aplicativo consulta ou filtra documentos com frequência com base em valores em matrizes.
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 índice de várias chaves
Use o createIndex() método para criar um índice de várias chaves. A sintaxe do método é: 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> }
O exemplo a seguir cria um índice de várias chaves no categories campo classificado em ordem crescente com o nome: book_categories
db.collection.createIndex( { "categories": 1 }, { "name": "book_categories" } )
Consulte Propriedades do índice para ver exemplos de criação de índices com várias chaves.