

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.

# Indexeigenschaft: versteckt
<a name="index-property-hidden"></a>

Amazon DocumentDB unterstützt die `hidden` Indexeigenschaft ab Amazon DocumentDB 8.0.1.

Versteckte Indizes sind für den Abfrageplaner nicht sichtbar und können nicht zur Unterstützung einer Abfrage verwendet werden. Indem Sie einen Index im Planer ausblenden, können Sie die möglichen Auswirkungen des Löschens des Indexes bewerten, ohne ihn tatsächlich zu löschen. Wenn die Auswirkung negativ ist, können Sie den Index wieder einblenden, anstatt einen gelöschten Index neu erstellen zu müssen.

Die `hidden` Eigenschaft wird für alle Indextypen unterstützt, einschließlich Einzelfeld-, Verbund-, Mehrschlüssel-, Text-, Geodaten- und Vektorindizes.

## Behavior
<a name="index-property-hidden-behavior"></a>

Abgesehen davon, dass sie nicht im Planer angezeigt werden, werden versteckte Indizes vollständig verwaltet und durchgesetzt. Beispiel:
+ Wenn es sich bei einem ausgeblendeten Index um einen eindeutigen Index handelt, wendet der Index dennoch seine eindeutige Einschränkung auf Dokumente an.
+ Wenn es sich bei einem versteckten Index um einen TTL-Index handelt, läuft der Index dennoch für Dokumente ab.
+ Versteckte Indizes sind in `listIndexes` und `db.collection.getIndexes()` Ergebnissen enthalten.
+ Versteckte Indizes werden bei Schreibvorgängen in die Sammlung aktualisiert und verbrauchen weiterhin Speicherplatz und Arbeitsspeicher. Daher sind sie in Statistikoperationen wie `db.collection.stats()` und `$indexStats` enthalten.
+ Wenn Sie einen nicht ausgeblendeten Index ausblenden oder einen ausgeblendeten Index einblenden, wird sein Index zurückgesetzt. `$indexStats` Das Ausblenden eines bereits ausgeblendeten Indexes oder das Einblenden eines bereits ausgeblendeten Indexes wird nicht zurückgesetzt. `$indexStats`

## Einschränkungen
<a name="index-property-hidden-restrictions"></a>
+ Der `_id` Index kann nicht ausgeblendet werden.
+ Sie können ihn nicht verwenden`cursor.hint()`, um die Verwendung eines versteckten Indexes zu erzwingen.
+ `$merge`schlägt fehl, wenn der erforderliche eindeutige Index für die `on` Felder ausgeblendet ist. Machen Sie den Index sichtbar, bevor Sie ihn ausführen`$merge`.

## Beispiele
<a name="index-property-hidden-examples"></a>

### Erstellen Sie einen versteckten Index
<a name="index-property-hidden-create"></a>

Um einen Index im versteckten Zustand zu erstellen, verwenden Sie die `db.collection.createIndex()` Methode und setzen Sie die `hidden` Option `true` in der Indexdefinition auf.

Mit dem folgenden Vorgang wird beispielsweise ein versteckter aufsteigender Index für das `productId` Feld erstellt:

```
db.collection.createIndex(
  { "productId": 1 },
  { "name": "productId_1", "hidden": true }
)
```

Führen Sie zur Überprüfung `db.collection.getIndexes()` oder für `listIndexes` die Sammlung aus. Ein versteckter Index umfasst `"hidden": true` in seiner Definition Folgendes:

```
db.collection.getIndexes()
[
  {
    "v": 4,
    "key": { "_id": 1 },
    "name": "_id_"
  },
  {
    "v": 4,
    "key": { "productId": 1 },
    "name": "productId_1",
    "hidden": true
  }
]
```

Die Indexoption `hidden` wird nur zurückgegeben, wenn der Wert gleich ist`true`.

### Einen vorhandenen Index ausblenden
<a name="index-property-hidden-hide"></a>

Verwenden Sie den `collMod` Befehl, um einen vorhandenen Index auszublenden. Identifizieren Sie den Index entweder anhand seines `name` oder anhand seines`keyPattern`, und setzen Sie ihn `hidden` auf`true`.

Im folgenden Beispiel wird ein Index nach Namen ausgeblendet.

```
db.runCommand({
  collMod: "collection",
  index: {
    name: "productId_1", // Specify the index name
    hidden: true
  }
})
```

Sie können den Index auch anhand seines Schlüsselmusters identifizieren.

```
db.runCommand({
  collMod: "collection",
  index: {
    keyPattern: { productId: 1 }, // Specify the index key specification document
    hidden: true
  }
})
```

### Blenden Sie einen vorhandenen Index ein
<a name="index-property-hidden-unhide"></a>

Um einen versteckten Index wieder sichtbar zu machen, verwenden Sie den `collMod` Befehl mit `hidden` set to`false`.

```
db.runCommand({
  collMod: "collection",
  index: { name: "productId_1", hidden: false }
})
```

Da Indizes vollständig verwaltet werden, wenn sie ausgeblendet sind, kann der Index sofort verwendet werden, sobald sie ausgeblendet sind.