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.
Multi-key Indizes
Für Felder, die einen Array-Wert haben, ermöglicht Ihnen ein Multi-Key-Index, einen Indexschlüssel für jedes Element im Array zu erstellen. Durch die Indizierung eines Arrays wird ein Indexeintrag für jedes Element des Arrays erstellt.
Multi-key Indizes sind nützlich, wenn Ihre Anwendung häufig Dokumente anhand von Werten in Arrays abfragt oder filtert.
Unterstützte Indexeigenschaften
| Option | 3.6 | 4,0 | 5.0 | 8.0 | Elastischer Cluster |
|---|---|---|---|---|---|
| name | Ja | Ja | Ja | Ja | Ja |
| einzigartig | Ja | Ja | Ja | Ja | Ja |
| spärlich * | Ja | Ja | Ja | Ja | Ja |
| teilweise * FilterExpression | Nein | Nein | Ja | Ja | Nein |
| ablaufen AfterSeconds | Ja | Ja | Ja | Ja | Ja |
* Die partialFilterExpression Optionen sparse und können nicht zusammen in derselben Indexdefinition verwendet werden. Wenn Sie versuchen, einen Index mit diesen Optionen zu erstellen, schlägt dies mit dem folgenden Fehler fehl:
Error in specification: cannot mix partialFilterExpression and sparse options
Einen Index mit mehreren Schlüsseln erstellen
Verwenden Sie die createIndex() Methode, um einen Index mit mehreren Schlüsseln zu erstellen. Die Syntax der Methode lautet: db.collection.createIndex(<key>, <options>)
Der key Parameter ist ein JSON-Dokument, das das Feld und die Index-Sortierreihenfolge angibt:
{ "<field>": <1 (ascending)|-1 (descending)> }
Der options Parameter ist ein JSON-Dokument, das die Optionen für den Index angibt:
{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression>, "expireAfterSeconds": <seconds before expiry> }
Im folgenden Beispiel wird ein Index mit mehreren Schlüsseln für das categories Feld erstellt, das in aufsteigender Reihenfolge nach dem Namen sortiert ist: book_categories
db.collection.createIndex( { "categories": 1 }, { "name": "book_categories" } )
Beispiele für die Erstellung von Indizes mit mehreren Schlüsseln finden Sie unter Indexeigenschaften.