

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.

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

L'étape du `$match` pipeline dans Amazon DocumentDB est utilisée pour filtrer les documents d'entrée uniquement en fonction de ceux qui répondent aux critères de requête spécifiés. Il s'agit de l'une des étapes de pipeline les plus couramment utilisées dans les opérations d'agrégation. L'`$match`étape est appliquée avant toute autre étape du pipeline, ce qui vous permet de réduire efficacement le nombre de documents à traiter lors des étapes suivantes.

**Paramètres**
+ `query`: document qui exprime les critères de sélection de l'opération. Le document de requête utilise la même syntaxe que la `find()` méthode.

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

L'exemple suivant montre comment utiliser le `$match` stage pour filtrer des documents en fonction d'une valeur de champ spécifique.

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

```
db.collection.insertMany([
  { _id: 1, name: "John", age: 25, city: "New York" },
  { _id: 2, name: "Jane", age: 30, city: "Los Angeles" },
  { _id: 3, name: "Bob", age: 35, city: "Chicago" },
  { _id: 4, name: "Alice", age: 40, city: "Miami" }
]);
```

**Exemple de requête**

```
db.collection.aggregate([
  { $match: { age: { $gt: 30 } } },
  { $project: { _id: 1, name: 1, city: 1 } }
]);
```

**Sortie**

```
[
  { "_id": 3, "name": "Bob", "city": "Chicago" },
  { "_id": 4, "name": "Alice", "city": "Miami" }
]
```

La `$match` phase filtre les documents pour n'inclure que ceux dont le `age` champ est supérieur à 30.

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

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

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

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

async function example() {
  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('collection');

  const result = await collection.aggregate([
    { $match: { age: { $gt: 30 } } },
    { $project: { _id: 1, name: 1, city: 1 } }
  ]).toArray();

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

example();
```

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

```
from pymongo import MongoClient

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

    result = list(collection.aggregate([
        { '$match': { 'age': { '$gt': 30 } } },
        { '$project': { '_id': 1, 'name': 1, 'city': 1 } }
    ]))

    print(result)
    client.close()

example()
```

------