

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à.

# \$1exists
<a name="exists"></a>

L'`$exists`operatore viene utilizzato per verificare se un campo esiste o meno in un documento. `$exists`particolarmente utile quando si lavora con indici sparsi in Amazon DocumentDB, dove il campo indicizzato potrebbe non essere presente in tutti i documenti.

Per utilizzare un indice Sparse creato in una query, devi utilizzare la clausola `$exists` nei campi che coprono l'indice. Se ometti`$exists`, Amazon DocumentDB non utilizzerà l'indice sparso per la query.

**Parametri**
+ `field`: il nome del campo di cui verificare l'esistenza.
+ `value`: Un valore booleano (`true`o`false`) che specifica se il campo deve esistere (`true`) o non esistere (`false`) nei documenti corrispondenti.

## Esempio (MongoDB Shell)
<a name="exists-examples"></a>

L'esempio seguente dimostra l'uso dell'`$exists`operatore con un indice sparso sul `special_diets` campo della raccolta. `food`

**Crea documenti di esempio**

```
db.food.insertMany([
  { _id: 1, name: "Apple", special_diets: ["vegetarian", "gluten-free"] },
  { _id: 2, name: "Broccoli" },
  { _id: 3, name: "Chicken", special_diets: ["dairy-free"] }
]);
```

**Crea un indice sparso nel campo `special\$1diets`**

```
db.food.createIndex({ "special_diets": 1 }, { sparse: true, name: "special_diets_sparse_asc" });
```

**Esempio di query**

```
db.food.find({ "special_diets": { $exists: true } });
```

**Output**

```
[
  { "_id" : 1, "name" : "Apple", "special_diets" : [ "vegetarian", "gluten-free" ] },
  { "_id" : 3, "name" : "Chicken", "special_diets" : [ "dairy-free" ] }
]
```

## Esempi di codice
<a name="exists-code"></a>

Per visualizzare un esempio di codice per l'utilizzo del `$exists` comando, scegliete la scheda relativa alla lingua che desiderate utilizzare:

------
#### [ Node.js ]

```
const { MongoClient } = require('mongodb');

async function main() {
  const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  const db = client.db('test');
  const collection = db.collection('food');

  const result = await collection.find({ "special_diets": { $exists: true } }).toArray();
  console.log(result);

  await client.close();
}

main();
```

------
#### [ Python ]

```
import pymongo

client = pymongo.MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
db = client['test']
collection = db['food']

result = list(collection.find({"special_diets": {"$exists": True}}))
print(result)

client.close()
```

------