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 | Sì | Sì | Sì | Sì | Sì |
| compound | Sì | Sì | Sì | Sì | Sì |
| chiave multipla | Sì | Sì | Sì | Sì | Sì |
Utilizzate l'opzione sparse per saltare l'indicizzazione dei documenti in cui mancano i 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
Gli esempi seguenti 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') }
Tieni presente che i campi delle recensioni, del materiale e dei colori non esistono in tutti i documenti.
campo singolo
Crea un indice sparso a campo singolo sul campo materiale:
db.collection.createIndex( { "material": 1 }, { "name": "material_sparse", "sparse": true } )
Questo indice verrà utilizzato per trovare tutti i prodotti che hanno un valore in termini di materiale:
db.collection.find({ "material": { $exists: true } })
composto
Crea un indice composto sparso sui campi di materiale e 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 qualsiasi 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 sparso a più chiavi nell'array delle recensioni:
db.collection.createIndex( { "reviews": 1 }, { "name": "reviews_sparse", "sparse": true } )
Questo indice verrà utilizzato per trovare tutti i prodotti che dispongono di un array di recensioni:
db.collection.find({ "reviews": { $exists: true } })