$match - Amazon DocumentDB

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.

$match

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)

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

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()