

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.

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

Der `$map` Operator in Amazon DocumentDB ermöglicht es Ihnen, einen bestimmten Ausdruck auf jedes Element in einem Array anzuwenden und ein neues Array mit den transformierten Elementen zurückzugeben. Dieser Operator ist besonders nützlich für die Manipulation und Transformation von Daten innerhalb von Arrays. Er kann dazu beitragen, Ihren Anwendungscode zu vereinfachen und die Abfrageleistung zu verbessern, indem die Array-Verarbeitung auf Datenbankebene verlagert wird.

**Parameter**
+ `input`: Das Array, das transformiert werden soll.
+ `as`: (optional) Der Name der Variablen, die innerhalb des in-Ausdrucks verwendet werden soll, um das aktuelle Element darzustellen, das gerade verarbeitet wird.
+ `in`: Der Ausdruck, der auf jedes Element im Eingabearray angewendet werden soll.

## Beispiel (MongoDB Shell)
<a name="map-examples"></a>

Das folgende Beispiel zeigt, wie der \$1map-Operator verwendet wird, um ein Zahlenarray zu transformieren, wobei jeder Wert verdoppelt wird.

**Erstellen Sie Beispieldokumente**

```
db.collection.insertMany([
  { _id: 1, numbers: [1, 2, 3, 4, 5] },
  { _id: 2, numbers: [10, 20, 30, 40, 50] }
])
```

**Beispiel für eine Abfrage**

```
db.collection.aggregate([
  {
    $project: {
      doubledNumbers: { $map: { input: "$numbers", as: "num", in: { $multiply: ["$$num", 2] } } }
    }
  }
])
```

**Ausgabe**

```
[
  { _id: 1, doubledNumbers: [2, 4, 6, 8, 10] },
  { _id: 2, doubledNumbers: [20, 40, 60, 80, 100] }
]
```

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

Um ein Codebeispiel für die Verwendung des `$map` 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([
    {
      $project: {
        doubledNumbers: { $map: { input: "$numbers", as: "num", in: { $multiply: ["$$num", 2] } } }
      }
    }
  ]).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([
        {
            '$project': {
                'doubledNumbers': { '$map': { 'input': '$numbers', 'as': 'num', 'in': { '$multiply': ['$$num', 2] } } }
            }
        }
    ]))

    print(result)
    client.close()

example()
```

------