

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.

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

L'`$and`opérateur dans Amazon DocumentDB est utilisé pour combiner plusieurs expressions et les évaluer en tant que condition unique. Elle revient `true` si toutes les expressions fournies sont évaluées à`true`, et `false` sinon. Cet opérateur est utile pour appliquer plusieurs critères à une requête.

**Paramètres**
+ `expression1`: expression obligatoire qui correspond à une valeur booléenne.
+ `expression2`: expression obligatoire qui correspond à une valeur booléenne.
+ `...`: expressions obligatoires supplémentaires dont l'évaluation est basée sur des valeurs booléennes.

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

L'exemple suivant montre comment utiliser l'`$and`opérateur pour rechercher tous les documents de la collection « utilisateurs » dont le champ « âge » est supérieur à 18 ans et le champ « statut » est « actif ».

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

```
db.users.insertMany([
  { name: "John", age: 25, status: "active" },
  { name: "Jane", age: 17, status: "active" },
  { name: "Bob", age: 30, status: "inactive" },
  { name: "Alice", age: 22, status: "active" }
]);
```

**Exemple de requête**

```
db.users.find({
  $and: [
    { age: { $gt: 18 } },
    { status: "active" }
  ]
});
```

**Sortie**

```
[
  { "_id" : ObjectId("614e3c4b63f5892e7c4e2345"), "name" : "John", "age" : 25, "status" : "active" },
  { "_id" : ObjectId("614e3c4b63f5892e7c4e2347"), "name" : "Alice", "age" : 22, "status" : "active" }
]
```

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

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

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

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

async function findActiveUsersOlderThan18() {
  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 users = db.collection('users');

  const activeUsersOlderThan18 = await users.find({
    $and: [
      { age: { $gt: 18 } },
      { status: 'active' }
    ]
  }).toArray();

  console.log(activeUsersOlderThan18);
  await client.close();
}

findActiveUsersOlderThan18();
```

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

```
from pymongo import MongoClient

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

    active_users_older_than_18 = list(users.find({
        '$and': [
            {'age': {'$gt': 18}},
            {'status': 'active'}
        ]
    }))

    print(active_users_older_than_18)
    client.close()

find_active_users_older_than_18()
```

------