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