View a markdown version of this page

Zusammengesetzte Indizes - Amazon DocumentDB

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, sodass Abfragen im ersten Feld oder in beliebigen Präfixfeldern möglich sind. Diese Indizes optimieren die Leistung von Abfragen, die nach mehreren Feldern gleichzeitig filtern oder Filter mit Sortiervorgängen kombinieren. Sie eignen sich auch für Abfragen mit einer Bedingung in den indizierten Feldern ganz links. Die Datenbank nutzt diese Indexeinträge, um passende Dokumente effizient zu finden, ohne vollständige Sammlungsscans durchführen zu müssen.

Zusammengesetzte Feldindizes sind in folgenden Fällen von Vorteil:

  • 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 nur ein Feld ein Array in einem zusammengesetzten Index 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.