

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.

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

Der `$subtract` Operator in Amazon DocumentDB wird verwendet, um Werte zu subtrahieren. Er kann verwendet werden, um Daten, Zahlen oder eine Kombination aus beidem zu subtrahieren. Dieser Operator ist nützlich, um die Differenz zwischen zwei Daten zu berechnen oder einen Wert von einer Zahl zu subtrahieren.

**Parameter**
+ `expression1`: Der erste Wert, der subtrahiert werden soll.
+ `expression2`: Der zweite Wert, von dem subtrahiert werden soll. `<expression1>`

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

Das folgende Beispiel zeigt, wie der `$subtract` Operator verwendet wird, um die Differenz zwischen zwei Daten zu berechnen.

**Erstellen Sie ein Beispieldokument**

```
db.dates.insert([
  {
  "_id": 1,
  "startDate": ISODate("2023-01-01T00:00:00Z"),
  "endDate": ISODate("2023-01-05T12:00:00Z")
  }
]);
```

**Beispiel für eine Abfrage**

```
db.dates.aggregate([
  {
    $project: {
      _id: 1,
      durationDays: {
        $divide: [
          { $subtract: ["$endDate", "$startDate"] },
          1000 * 60 * 60 * 24  // milliseconds in a day
        ]
      }
    }
  }
]);
```

**Ausgabe**

```
[ { _id: 1, durationDays: 4.5 } ]
```

In diesem Beispiel wird der `$subtract` Operator verwendet, um die Differenz zwischen `$endDate` und `$startDate` in Tagen zu berechnen.

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

Um ein Codebeispiel für die Verwendung des `$subtract` 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');

  try {
    await client.connect();
    const db = client.db('test');
    const collection = db.collection('dates');

    const pipeline = [
      {
        $project: {
          _id: 1,
          durationDays: {
            $divide: [
              { $subtract: ["$endDate", "$startDate"] },
              1000 * 60 * 60 * 24  // Convert milliseconds to days
            ]
          }
        }
      }
    ];

    const results = await collection.aggregate(pipeline).toArray();

    console.dir(results, { depth: null });

  } finally {
    await client.close();
  }
}

example().catch(console.error);
```

------
#### [ Python ]

```
from datetime import datetime, timedelta
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')

    try:
        db = client.test
        collection = db.dates

        pipeline = [
            {
                "$project": {
                    "_id": 1,
                    "durationDays": {
                        "$divide": [
                            { "$subtract": ["$endDate", "$startDate"] },
                            1000 * 60 * 60 * 24  # Convert milliseconds to days
                        ]
                    }
                }
            }
        ]

        results = collection.aggregate(pipeline)

        for doc in results:
            print(doc)

    except Exception as e:
        print(f"An error occurred: {e}")

    finally:
        client.close()

example()
```

------