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: esparso
Tipos de índice compatíveis
| Opção | 3.6 | 4,0 | 5,0 | 8.0 | Cluster elástico |
|---|---|---|---|---|---|
| campo único | Sim | Sim | Sim | Sim | Sim |
| compound | Sim | Sim | Sim | Sim | Sim |
| chave múltipla | Sim | Sim | Sim | Sim | Sim |
Use a opção esparsa para ignorar a indexação de documentos sem o (s) campo (s) indexado (s), 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. Para que uma consulta utilize um índice esparso, você deve usar a cláusula $exists nos campos indexados. Se você omitir a cláusula $exists, o Amazon DocumentDB não usará o índice esparso.
Exemplos
Os exemplos a seguir mostram como criar índices esparsos 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') }
Observe que as avaliações, o material e os campos de cores não existem em todos os documentos.
campo único
Crie um índice de campo único esparso no campo de material:
db.collection.createIndex( { "material": 1 }, { "name": "material_sparse", "sparse": true } )
Esse índice será usado para encontrar todos os produtos que tenham um valor para o material:
db.collection.find({ "material": { $exists: true } })
composto
Crie um índice composto esparso nos campos de material e cor:
db.collection.createIndex( { "material": 1, "color": 1 }, { "name": "material_and_color_sparse", "sparse": true } )
Esse índice será usado para encontrar todos os produtos que tenham qualquer combinação de valores de material e cor:
db.collection.find({ "material": { $exists: true } }) db.collection.find({ "color": { $exists: true } }) db.collection.find({ $and: [ { "material": { $exists: true } }, { "color": { $exists:true } } ] }) db.collection.find({ $and: [ { "color": { $exists: true } }, { "material": { $exists:true } } ] })
tecla múltipla
Crie um índice esparso de várias chaves na matriz de avaliações:
db.collection.createIndex( { "reviews": 1 }, { "name": "reviews_sparse", "sparse": true } )
Esse índice será usado ao encontrar todos os produtos que têm uma matriz de avaliações:
db.collection.find({ "reviews": { $exists: true } })