View a markdown version of this page

Proprietà dell'indice: sparse - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Proprietà dell'indice: sparse

Tipi di indice supportati

Opzione 3.6 4.0 5.0 8.0 Cluster elastico
campo singolo
compound
chiave multipla

Usa l'opzione sparse per saltare l'indicizzazione dei documenti privi dei campi indicizzati, riducendo le dimensioni dell'indice e risparmiando spazio in memoria. Poiché la dimensione dell'indice è inferiore, le query che lo utilizzano sono più efficienti. Affinché una query utilizzi un indice sparso, è necessario utilizzare la clausola $exists nei campi indicizzati. Se ometti la clausola $exists, Amazon DocumentDB non utilizzerà l'indice sparse.

Esempi

I seguenti esempi mostrano come creare indici sparsi nel seguente documento di esempio:

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

Nota che le recensioni, il materiale e i campi di colore non sono presenti in tutti i documenti.

campo singolo

Crea un indice a campo singolo sparso nel campo del materiale:

db.collection.createIndex( { "material": 1 }, { "name": "material_sparse", "sparse": true } )

Questo indice verrà utilizzato per trovare tutti i prodotti che hanno un valore per il materiale:

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

composto

Crea un indice composto sparso nei campi del materiale e del colore:

db.collection.createIndex( { "material": 1, "color": 1 }, { "name": "material_and_color_sparse", "sparse": true } )

Questo indice verrà utilizzato per trovare tutti i prodotti che hanno una combinazione di valori di materiale e colore:

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

chiave multipla

Crea un indice a più chiavi sparso nell'array delle recensioni:

db.collection.createIndex( { "reviews": 1 }, { "name": "reviews_sparse", "sparse": true } )

Questo indice verrà utilizzato per trovare tutti i prodotti che hanno un array di recensioni:

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