

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Proprietà dell'indice: nascosta
<a name="index-property-hidden"></a>

Amazon DocumentDB supporta la proprietà `hidden` index a partire da Amazon DocumentDB 8.0.1.

Gli indici nascosti non sono visibili al pianificatore di query e non possono essere utilizzati per supportare una query. Nascondendo un indice dal planner, puoi valutare il potenziale impatto dell'eliminazione dell'indice senza eliminarlo effettivamente. Se l'impatto è negativo, puoi mostrare l'indice invece di dover ricreare un indice eliminato.

La `hidden` proprietà è supportata su tutti i tipi di indice, inclusi gli indici a campo singolo, composto, multichiave, di testo, geospaziale e vettoriale.

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

Oltre ad essere nascosti dal planner, gli indici nascosti sono completamente gestiti e applicati. Ad esempio:
+ Se un indice nascosto è un indice univoco, l'indice applica comunque il suo vincolo univoco ai documenti.
+ Se un indice nascosto è un indice TTL, l'indice scade comunque con i documenti.
+ Gli indici nascosti sono inclusi nei risultati. `listIndexes` `db.collection.getIndexes()`
+ Gli indici nascosti vengono aggiornati durante le operazioni di scrittura sulla raccolta e continuano a consumare spazio su disco e memoria. Di conseguenza, vengono inclusi in operazioni statistiche come `db.collection.stats()` e. `$indexStats`
+ Se si nasconde un indice non nascosto o si mostra un indice nascosto, si ripristina il relativo. `$indexStats` Nascondere un indice già nascosto o mostrare un indice già nascosto non viene reimpostato. `$indexStats`

## Restrizioni
<a name="index-property-hidden-restrictions"></a>
+ Non è possibile nascondere l'indice. `_id`
+ Non è possibile `cursor.hint()` forzare l'uso di un indice nascosto.
+ `$merge`ha esito negativo se l'indice univoco richiesto nei `on` campi è nascosto. Rende visibile l'indice prima dell'esecuzione`$merge`.

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

### Crea un indice nascosto
<a name="index-property-hidden-create"></a>

Per creare un indice nello stato nascosto, utilizzate il `db.collection.createIndex()` metodo e impostate l'`hidden`opzione su `true` nella definizione dell'indice.

Ad esempio, la seguente operazione crea un indice ascendente nascosto sul `productId` campo:

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

Per verificare, esegui `db.collection.getIndexes()` o `listIndexes` sulla raccolta. Un indice nascosto include `"hidden": true` nella sua definizione.

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

L'opzione index `hidden` viene restituita solo se il valore è`true`.

### Nascondi un indice esistente
<a name="index-property-hidden-hide"></a>

Utilizzate il `collMod` comando per nascondere un indice esistente. Identifica l'indice in base al suo valore `name` o al suo `keyPattern` valore e impostalo `hidden` su`true`.

L'esempio seguente nasconde un indice per nome.

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

È inoltre possibile identificare l'indice in base al relativo schema chiave.

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

### Mostra un indice esistente
<a name="index-property-hidden-unhide"></a>

Per rendere nuovamente visibile un indice nascosto, usa il `collMod` comando with `hidden` set to`false`.

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

Poiché gli indici vengono mantenuti completamente quando sono nascosti, l'indice è immediatamente disponibile per l'uso una volta aperto.