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.
Index-Eigenschaft: teilweise FilterExpression
Unterstützte Indextypen
| Option | 3.6 | 4,0 | 5.0 | 8.0 | Elastischer Cluster |
|---|---|---|---|---|---|
| einzelnes Feld | Nein | Nein | Ja | Ja | Nein |
| compound | Nein | Nein | Ja | Ja | Nein |
| mehrere Schlüssel | Nein | Nein | Ja | Ja | Nein |
| Geodaten | Nein | Nein | Nein | Nein | Nein |
Verwenden Sie die FilterExpression Option teilweise, um einen Teilindex zu erstellen, der nur Dokumente enthält, die eine bestimmte Filterbedingung erfüllen. Auf diese Weise können Sie effizientere Indizes erstellen, indem Sie nur eine Teilmenge der Dokumente in einer Sammlung indexieren, anstatt alle Dokumente zu indexieren, wodurch die Indexgröße reduziert und Speicherplatz gespart wird. Da die Indexgröße kleiner ist, sind die Abfragen, die sie verwenden, effizienter. Amazon DocumentDB verwendet den Teilindex in den folgenden Szenarien:
Das Abfrageprädikat entspricht exakt dem Filterausdruck für den Teilindex.
Das erwartete Ergebnis des Abfragefilters ist eine logische Teilmenge des Teilfilters.
Ein Unterprädikat der Abfrage kann in Verbindung mit anderen Indizes verwendet werden.
Weitere Informationen finden Sie unter Teilweiser Index.
Beispiele
Die folgenden Beispiele zeigen, wie Teilindizes für das folgende Beispieldokument erstellt werden:
{ "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') }
einzelnes Feld
Erstellen Sie einen teilweisen Einzelfeldindex für den Hersteller für Produkte, die die Farbe Space Grey haben:
db.collection.createIndex( { "manufacturer": 1 }, { "name": "manufacturer_space_gray", "partialFilterExpression": { "color": { $eq: "Space Gray" } } } )
Dieser Index wird bei der Suche nach Produkten in der Farbe Space Grey vom Hersteller verwendet:
db.collection.find({ "manufacturer": "The Manufacturer", "color": { $eq: "Space Gray" } })
Verbindung
Erstellen Sie einen partiellen Verbundindex für Hersteller und Farbe für Produkte, die aus Polycarbonat bestehen:
db.collection.createIndex( { "manufacturer": 1, "color": 1 }, { "name": "manufacturer_and_color_polycarbonate", "partialFilterExpression": { "material": { $eq: "Polycarbonate" } } } )
Dieser Index wird bei der Suche nach Produkten aus Polycarbonat nach Hersteller und Farbe verwendet:
db.collection.find({ "manufacturer": "The Manufacturer", "color": "Space Gray", "material": { $eq: "Polycarbonate" } })
mit mehreren Tasten
Erstellen Sie einen teilweisen Index mit mehreren Schlüsseln für Tags für Produkte, für die der Hersteller als Hersteller angegeben ist:
db.collection.createIndex( { "tags": 1 }, { "name": "tags_the_manufacturer", "partialFilterExpression": { "manufacturer": { $eq: "The Manufacturer" } } } )
Dieser Index wird verwendet, wenn Produkte mit dem Schlagwort Drucker gefunden werden, für die der Hersteller angegeben ist:
db.collection.find({ "tags": "printer", "manufacturer": { $eq: "The Manufacturer" } })