

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: sparse
<a name="index-property-sparse"></a>

## Tipi di indice supportati
<a name="index-property-sparse-supported"></a>


| Opzione | 3.6 | 4.0 | 5.0 | 8.0 | Cluster elastico | 
| --- | --- | --- | --- | --- | --- | 
| campo singolo | Sì  | Sì | Sì | Sì | Sì | 
| compound | Sì  | Sì | Sì | Sì | Sì | 
| chiave multipla | Sì  | Sì | Sì | Sì | Sì | 

Utilizzate l'opzione sparse per saltare l'indicizzazione dei documenti in cui mancano i campi indicizzati, riducendo le dimensioni dell'indice e risparmiando spazio in memoria. Poiché la dimensione dell'indice è inferiore, le query che lo utilizzano sono più efficienti. Affinché una query utilizzi un indice sparso, è necessario utilizzare la clausola $exists nei campi indicizzati. Se ometti la clausola $exists, Amazon DocumentDB non utilizzerà l'indice sparse.

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

Gli esempi seguenti mostrano come creare indici sparsi nel seguente documento di esempio:

```
{
  "productId": "PROD133726",
  "sku": "SKU24224",
  "name": "Basic Printer",
  "manufacturer": "The Manufacturer",
  "tags": [ "printer", "basic", "electronics", "business" ],
  "barcodes": [ "542364671", "886330670", "437445606" ],
  "reviews": [
    {
      "review_date": ISODate('2024-01-19T21:37:10.585Z'),
      ...
    }
  ],
  "material": "Polycarbonate",
  "color": "Space Gray",
  "supplier": {
    "supplierId": "SUP4",
    "location": {
      "type": "Point",
      "coordinates": [ -71.0589, 42.3601 ]
    }
  },
  "productEmbedding": [
    -0.019320633663838058,
    0.019672111388113596
  ],
  "lastUpdated": ISODate('2025-10-20T21:37:10.585Z')
}
```

Tieni presente che i campi delle recensioni, del materiale e dei colori non esistono in tutti i documenti.

campo singolo

Crea un indice sparso a campo singolo sul campo materiale:

```
db.collection.createIndex(
  {
    "material": 1
  },
  {
    "name": "material_sparse",
    "sparse": true
  }
)
```

Questo indice verrà utilizzato per trovare tutti i prodotti che hanno un valore in termini di materiale:

```
db.collection.find({
  "material": {
    $exists: true
  }
})
```

composto

Crea un indice composto sparso sui campi di materiale e colore:

```
db.collection.createIndex(
  {
    "material": 1,
    "color": 1
  },
  {
    "name": "material_and_color_sparse",
    "sparse": true
  }
)
```

Questo indice verrà utilizzato per trovare tutti i prodotti che hanno qualsiasi combinazione di valori di materiale e colore:

```
db.collection.find({
  "material": {
    $exists: true
  }
})

db.collection.find({
  "color": {
    $exists: true
  }
})

db.collection.find({
  $and: [
    {
      "material": {
        $exists: true
      }
    },
    {
      "color": {
        $exists:true
      }
    }
  ]
})

db.collection.find({
  $and: [
    {
      "color": {
        $exists: true
      }
    },
    {
      "material": {
        $exists:true
      }
    }
  ]
})
```

chiave multipla

Crea un indice sparso a più chiavi nell'array delle recensioni:

```
db.collection.createIndex(
  {
    "reviews": 1
  },
  {
    "name": "reviews_sparse",
    "sparse": true
  }
)
```

Questo indice verrà utilizzato per trovare tutti i prodotti che dispongono di un array di recensioni:

```
db.collection.find({
  "reviews": {
    $exists: true
  }
})
```