Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Indexeigenschaft: spärlich
Unterstützte Indextypen
| Option | 3.6 | 4,0 | 5.0 | 8.0 | Elastischer Cluster |
|---|---|---|---|---|---|
| einzelnes Feld | Ja | Ja | Ja | Ja | Ja |
| compound | Ja | Ja | Ja | Ja | Ja |
| mehrere Schlüssel | Ja | Ja | Ja | Ja | Ja |
Verwenden Sie die Option Sparse, um die Indizierung von Dokumenten zu überspringen, denen die indizierten Felder fehlen. Dadurch wird die Indexgröße reduziert und Speicherplatz gespart. Da die Indexgröße kleiner ist, sind die Abfragen, die sie verwenden, effizienter. Damit eine Abfrage einen Index mit geringer Dichte verwendet, müssen Sie die $exists-Klausel für die indizierten Felder verwenden. Wenn Sie die $exists-Klausel weglassen, verwendet Amazon DocumentDB den Index mit geringer Dichte nicht.
Beispiele
Die folgenden Beispiele zeigen, wie Sie Indizes mit geringer Dichte für das folgende Beispieldokument erstellen:
{ "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') }
Beachten Sie, dass die Felder „Bewertungen“, „Material“ und „Farbe“ nicht in allen Dokumenten vorhanden sind.
einzelnes Feld
Erstellen Sie einen Einzelfeldindex mit geringer Dichte für das Materialfeld:
db.collection.createIndex( { "material": 1 }, { "name": "material_sparse", "sparse": true } )
Dieser Index wird verwendet, wenn alle Produkte gefunden werden, die einen Materialwert haben:
db.collection.find({ "material": { $exists: true } })
Verbindung
Erstellen Sie einen zusammengesetzten Index mit geringer Dichte für die Material- und Farbfelder:
db.collection.createIndex( { "material": 1, "color": 1 }, { "name": "material_and_color_sparse", "sparse": true } )
Dieser Index wird verwendet, wenn alle Produkte gefunden werden, die eine beliebige Kombination von Material- und Farbwerten haben:
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 } } ] })
mehrere Schlüssel
Erstellen Sie einen Index mit mehreren Schlüsseln für das Bewertungsarray:
db.collection.createIndex( { "reviews": 1 }, { "name": "reviews_sparse", "sparse": true } )
Dieser Index wird verwendet, wenn alle Produkte gefunden werden, die über ein Bewertungsfeld verfügen:
db.collection.find({ "reviews": { $exists: true } })