View a markdown version of this page

Índices compostos - Amazon DocumentDB

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 compostos

Os índices compostos armazenam informações de dois ou mais campos em uma coleção de documentos, permitindo consultas no primeiro campo ou em qualquer campo de prefixo. Esses índices otimizam o desempenho de consultas que filtram em vários campos simultaneamente ou combinam filtragem com operações de classificação. Eles também são eficazes para consultas de condição única nos campos indexados mais à esquerda. O banco de dados aproveita essas entradas de índice para localizar com eficiência os documentos correspondentes sem realizar digitalizações completas da coleção.

Os índices de campo composto são benéficos quando:

  • Você precisa filtrar em vários campos simultaneamente.

  • Você precisa combinar a filtragem com as operações de classificação.

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

* 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 composto

Use o createIndex() método para criar um índice composto. A sintaxe do método é: db.collection.createIndex(<keys>, <options>)

O keys parâmetro é um documento JSON que especifica os campos e a ordem de classificação do índice:

{ "<field 1>": <1 (ascending)|-1 (descending)>, "<field 2>": <1 (ascending)|-1 (descending)>, ... }

Observe que somente um campo pode ser uma matriz em um índice composto. Se você tentar criar um índice composto em dois ou mais campos de matriz, ele falhará com o seguinte erro:

multiple fields of compound index cannot be arrays

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> }

Consulte Propriedades do índice para ver exemplos de criação de índices compostos.