$match - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

$match

Die $match Pipeline-Phase in Amazon DocumentDB wird verwendet, um die Eingabedokumente nur so zu filtern, dass sie den angegebenen Abfragekriterien entsprechen. Sie ist eine der am häufigsten verwendeten Pipeline-Phasen bei Aggregationsvorgängen. Die $match Phase wird vor allen anderen Pipeline-Phasen angewendet, sodass Sie die Anzahl der Dokumente, die in den nachfolgenden Phasen verarbeitet werden müssen, effizient reduzieren können.

Parameter

  • query: Ein Dokument, das die Auswahlkriterien für die Operation zum Ausdruck bringt. Das Abfragedokument verwendet dieselbe Syntax wie die find() Methode.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt die Verwendung des $match Stagingbereichs zum Filtern von Dokumenten auf der Grundlage eines bestimmten Feldwerts.

Erstellen Sie Beispieldokumente

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

Beispiel für eine Abfrage

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

Ausgabe

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

$matchIn der Phase werden die Dokumente so gefiltert, dass sie nur diejenigen enthalten, bei denen das age Feld größer als 30 ist.

Codebeispiele

Um ein Codebeispiel für die Verwendung des $match Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

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