$match - Amazon DocumentDB

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

$match

La fase della $match pipeline in Amazon DocumentDB viene utilizzata per filtrare i documenti di input solo in base a quelli che corrispondono ai criteri di query specificati. È una delle fasi della pipeline più comunemente utilizzate nelle operazioni di aggregazione. La $match fase viene applicata prima di qualsiasi altra fase della pipeline, il che consente di ridurre in modo efficiente il numero di documenti che devono essere elaborati nelle fasi successive.

Parametri

  • query: Un documento che esprime i criteri di selezione per l'operazione. Il documento di interrogazione utilizza la stessa sintassi del find() metodo.

Esempio (MongoDB Shell)

L'esempio seguente dimostra l'uso dello $match stage per filtrare i documenti in base a un valore di campo specifico.

Crea documenti di esempio

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" } ]);

Esempio di interrogazione

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

Output

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

Lo $match stage filtra i documenti per includere solo quelli in cui il age campo è maggiore di 30.

Esempi di codice

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

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