

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.

# \$1 konvertieren
<a name="convert"></a>

Neu ab Version 4.0

Der `$convert` Operator in Amazon DocumentDB wird verwendet, um einen Wert von einem Datentyp in einen anderen zu konvertieren. Dieser Operator ist nützlich, wenn Sie Operationen mit Daten verschiedener Typen ausführen müssen, z. B. die Konvertierung einer Zeichenfolge in eine Zahl oder eines Datums in einen Zeitstempel.

**Parameter**
+ `to`: Der Zieldatentyp, in den der Wert konvertiert werden soll. Unterstützte Werte sind `"string"`, `"double"`, `"long"`, `"int"`, `"date"` und `"boolean"`.
+ `from`: Der aktuelle Datentyp des Werts. Falls nicht angegeben, versucht Amazon DocumentDB, den Datentyp automatisch zu erkennen.
+ `onError`: (optional) Der Wert, der zurückgegeben werden soll, wenn die Konvertierung fehlschlägt. Kann ein bestimmter Wert oder einer der folgenden Sonderwerte sein:`"null"`,`"zerofill"`, oder`"error"`.
+ `onNull`: (optional) Der Wert, der zurückgegeben werden soll, wenn der Eingabewert`null`. Kann ein bestimmter Wert oder einer der folgenden Sonderwerte sein:`"null"`,`"zerofill"`, oder`"error"`.

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

Das folgende Beispiel zeigt die Konvertierung eines Zeichenkettenwerts in ein Datum mithilfe des `$convert` Operators.

**Erstellen Sie Beispieldokumente**

```
db.users.insertMany([
  { _id: 1, name: "John Doe", joinedOn: "2022-01-01" },
  { _id: 2, name: "Jane Smith", joinedOn: "2023-02-15" },
  { _id: 3, name: "Bob Johnson", joinedOn: "invalid date" }
]);
```

**Beispiel für eine Abfrage**

```
db.users.aggregate([
  {
    $project: {
      _id: 1,
      name: 1,
      joinedOn: {
        $convert: {
          input: "$joinedOn",
          to: "date",
          onError: "null",
          onNull: "null"
        }
      }
    }
  }
])
```

**Ausgabe**

```
[
  { "_id" : 1, "name" : "John Doe", "joinedOn" : ISODate("2022-01-01T00:00:00Z") },
  { "_id" : 2, "name" : "Jane Smith", "joinedOn" : ISODate("2023-02-15T00:00:00Z") },
  { "_id" : 3, "name" : "Bob Johnson", "joinedOn" : null }
]
```

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

Um ein Codebeispiel für die Verwendung des `$convert` 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 users = db.collection("users");

  const results = await users.aggregate([
    {
      $project: {
        _id: 1,
        name: 1,
        joinedOn: {
          $convert: {
            input: "$joinedOn",
            to: "date",
            onError: "null",
            onNull: "null"
          }
        }
      }
    }
  ]).toArray();

  console.log(results);
  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"]
    users = db["users"]

    results = list(users.aggregate([
        {
            "$project": {
                "_id": 1,
                "name": 1,
                "joinedOn": {
                    "$convert": {
                        "input": "$joinedOn",
                        "to": "date",
                        "onError": "null",
                        "onNull": "null"
                    }
                }
            }
        }
    ]))

    print(results)
    client.close()

example()
```

------