View a markdown version of this page

Propriedade do índice: parcial FilterExpression - 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á.

Propriedade do índice: parcial FilterExpression

Tipos de índice compatíveis

Opção 3.6 4,0 5,0 8.0 Cluster elástico
campo único Não Não Sim Sim Não
compound Não Não Sim Sim Não
chave múltipla Não Não Sim Sim Não
Geoespacial Não Não Não Não Não

Use a FilterExpression opção parcial para criar um índice parcial que inclua somente documentos que atendam a uma condição de filtro especificada. Isso permite criar índices mais eficientes indexando somente um subconjunto de documentos em uma coleção, em vez de indexar todos os documentos, reduzindo o tamanho do índice e economizando espaço na memória. Como o tamanho do índice é menor, as consultas que o usam são mais eficientes. O Amazon DocumentDB usará o índice parcial nos seguintes cenários:

  • O predicado da consulta corresponde exatamente à expressão do filtro de índice parcial.

  • O resultado esperado do filtro de consulta é um subconjunto lógico do filtro parcial.

  • Um subpredicado da consulta pode ser usado em conjunto com outros índices.

Para obter mais informações, consulte Índice parcial.

Exemplos

Os exemplos a seguir mostram como criar índices parciais no seguinte documento de amostra:

{ "productId": "PROD133726", "sku": "SKU24224", "name": "Basic Printer", "manufacturer": "The Manufacturer", "tags": [ "printer", "basic", "electronics", "business" ], "barcodes": [ "542364671", "886330670", "437445606" ], "reviews": [ { "review_date": ISODate('2024-01-19T21:37:10.585Z'), ... } ], "material": "Polycarbonate", "color": "Space Gray", "supplier": { "supplierId": "SUP4", "location": { "type": "Point", "coordinates": [ -71.0589, 42.3601 ] } }, "productEmbedding": [ -0.019320633663838058, 0.019672111388113596 ], "lastUpdated": ISODate('2025-10-20T21:37:10.585Z') }

campo único

Crie um índice parcial de campo único no fabricante para produtos que tenham a cor cinza espacial:

db.collection.createIndex( { "manufacturer": 1 }, { "name": "manufacturer_space_gray", "partialFilterExpression": { "color": { $eq: "Space Gray" } } } )

Esse índice será usado para encontrar produtos da cor Space Grey por fabricante:

db.collection.find({ "manufacturer": "The Manufacturer", "color": { $eq: "Space Gray" } })

composto

Crie um índice de composto parcial sobre o fabricante e a cor para produtos que tenham um material de policarbonato:

db.collection.createIndex( { "manufacturer": 1, "color": 1 }, { "name": "manufacturer_and_color_polycarbonate", "partialFilterExpression": { "material": { $eq: "Polycarbonate" } } } )

Este índice será usado para encontrar produtos de material de policarbonato por fabricante e cor:

db.collection.find({ "manufacturer": "The Manufacturer", "color": "Space Gray", "material": { $eq: "Polycarbonate" } })

tecla múltipla

Crie um índice parcial de várias chaves em etiquetas para produtos que tenham um fabricante de The Manufacturer:

db.collection.createIndex( { "tags": 1 }, { "name": "tags_the_manufacturer", "partialFilterExpression": { "manufacturer": { $eq: "The Manufacturer" } } } )

Esse índice será usado ao encontrar produtos marcados com impressora que tenham um fabricante de The Manufacturer:

db.collection.find({ "tags": "printer", "manufacturer": { $eq: "The Manufacturer" } })