

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
<a name="indexes-multikey"></a>

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
<a name="indexes-multikey-properties"></a>


| Option | 3.6 | 4,0 | 5.0 | 8.0 | Elastischer Cluster | 
| --- | --- | --- | --- | --- | --- | 
| [name](index-property-name.md) | Ja | Ja | Ja | Ja | Ja | 
| [einzigartig](index-property-unique.md) | Ja | Ja | Ja | Ja | Ja | 
| [spärlich \*](index-property-sparse.md) | Ja | Ja | Ja | Ja | Ja | 
| [teilweise \* FilterExpression](index-property-partialfilterexpression.md) | Nein | Nein | Ja | Ja | Nein | 
| [ablaufen AfterSeconds](index-property-expireafterseconds.md) | 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
<a name="indexes-multikey-creating"></a>

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](index-properties.md).