

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.

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

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)
<a name="match-examples"></a>

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" }
]
```

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

## Codebeispiele
<a name="match-code"></a>

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

------