View a markdown version of this page

Propriedade do índice: esparso - 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: 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 } })