View a markdown version of this page

Propriedade do índice: esparsa - 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: esparsa

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 os campos indexados, 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 exemplo:

{ "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 os campos de resenhas, material e cor 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 ao 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 ao 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 } } ] })

chave 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 tenham uma matriz de avaliações:

db.collection.find({ "reviews": { $exists: true } })