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.
Zusammengesetzte Indizes
Zusammengesetzte Indizes speichern Informationen aus zwei oder mehr Feldern in einer Sammlung von Dokumenten und ermöglichen so Abfragen im ersten Feld oder in beliebigen Präfixfeldern. Diese Indizes optimieren die Leistung für Abfragen, die nach mehreren Feldern gleichzeitig filtern oder Filter mit Sortiervorgängen kombinieren. Sie eignen sich auch für Abfragen mit einer einzigen Bedingung in den indizierten Feldern ganz links. Die Datenbank nutzt diese Indexeinträge, um passende Dokumente effizient zu finden, ohne die Sammlung vollständig scannen zu müssen.
Zusammengesetzte Feldindizes sind nützlich, wenn:
-
Sie müssen nach mehreren Feldern gleichzeitig filtern.
-
Sie müssen das Filtern mit Sortiervorgängen kombinieren.
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 |
* 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 zusammengesetzten Index erstellen
Verwenden Sie die createIndex() Methode, um einen zusammengesetzten Index zu erstellen. Die Syntax der Methode lautet: db.collection.createIndex(<keys>, <options>)
Der keys Parameter ist ein JSON-Dokument, das die Felder und die Index-Sortierreihenfolge angibt:
{ "<field 1>": <1 (ascending)|-1 (descending)>, "<field 2>": <1 (ascending)|-1 (descending)>, ... }
Beachten Sie, dass in einem zusammengesetzten Index nur ein Feld ein Array sein kann. Wenn Sie versuchen, einen zusammengesetzten Index für zwei oder mehr Array-Felder zu erstellen, schlägt dies mit dem folgenden Fehler fehl:
multiple fields of compound index cannot be arrays
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> }
Beispiele für die Erstellung zusammengesetzter Indizes finden Sie unter Indexeigenschaften.