

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

L'`$exists`opérateur permet de vérifier si un champ existe ou non dans un document. `$exists`particulièrement utile lorsque vous travaillez avec des index épars dans Amazon DocumentDB, où le champ indexé peut ne pas être présent dans tous les documents.

Pour utiliser un index fragmenté que vous avez créée dans une requête, vous devez utiliser la clause `$exists` sur les champs qui couvrent l'index. Si vous omettez`$exists`, Amazon DocumentDB n'utilisera pas l'index clairsemé pour la requête.

**Paramètres**
+ `field`: nom du champ dont l'existence doit être vérifiée.
+ `value`: valeur booléenne (`true`ou`false`) qui indique si le champ doit exister (`true`) ou ne pas exister (`false`) dans les documents correspondants.

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

L'exemple suivant illustre l'utilisation de l'`$exists`opérateur avec un index clairsemé sur le `special_diets` champ de la `food` collection.

**Création d'exemples de documents**

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

**Créez un index clairsemé dans le champ `special\$1diets`**

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

**Exemple de requête**

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

**Sortie**

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

## Exemples de code
<a name="exists-code"></a>

Pour afficher un exemple de code relatif à l'utilisation de la `$exists` commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

------
#### [ 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()
```

------