$DateAdd - 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.

$DateAdd

Neu ab Version 5.0

Mit dem $dateAdd Aggregationsoperator in Amazon DocumentDB können Sie einem Datums- und Uhrzeitwert eine Dauer hinzufügen.

Parameter

  • date: Ein Datums- und Uhrzeitwert, dem eine Dauer hinzugefügt werden soll.

  • duration: Die Dauer, die dem date Wert hinzugefügt werden soll. Dies kann als Objekt mit Schlüsseln füryears,,months, weeks days hoursminutes, und angegeben seconds werden.

  • timezone: (optional) Die Zeitzone, die beim Hinzufügen des Datums verwendet werden soll. Falls nicht angegeben, wird die Standardzeitzone des Amazon DocumentDB-Clusters verwendet.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt, wie der $dateAdd Operator verwendet wird, um einem Datum 2 Tage und 12 Stunden hinzuzufügen.

Erstellen Sie Beispieldokumente

db.events.insertMany([ { _id: 1, eventDate: ISODate("2023-04-01T10:00:00Z") }, { _id: 2, eventDate: ISODate("2023-04-02T12:00:00Z") }, { _id: 3, eventDate: ISODate("2023-04-03T14:00:00Z") } ]);

Beispiel für eine Abfrage

db.events.aggregate([ { $project: { _id: 1, eventDate: 1, eventDatePlustwodaysandtwelvehours: { $dateAdd: { startDate: { $dateAdd: { startDate: "$eventDate", unit: "day", amount: 2 } }, unit: "hour", amount: 12 } } } } ])

Ausgabe

[ { "_id": 1, "eventDate": "2023-04-01T10:00:00Z", "eventDatePlustwodaysandtwelvehours": ISODate("2023-04-03T22:00:00Z)" }, { "_id": 2, "eventDate": "2023-04-02T12:00:00Z", "eventDatePlustwodaysandtwelvehours": ISODate("2023-04-05T00:00:00Z)" }, { "_id": 3, "eventDate": "2023-04-03T14:00:00Z", "eventDatePlustwodaysandtwelvehours": ISODate("2023-04-06T02:00:00Z)" } ]

Codebeispiele

Um ein Codebeispiel für die Verwendung des $dateAdd 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('events'); const result = await collection.aggregate([ { $project: { _id: 1, eventDate: 1, eventDatePlustwodaysandtwelvehours: { $dateAdd: { startDate: { $dateAdd: { startDate: "$eventDate", unit: "day", amount: 2 } }, unit: "hour", amount: 12 } } } } ]).toArray(); console.log(result); await client.close(); } example();
Python
from pymongo import MongoClient from bson.date_time import datetime 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['events'] result = list(collection.aggregate([ { '$project': { '_id': 1, 'eventDate': 1, 'eventDatePlustwodaysandtwelvehours': { '$dateAdd': { 'startDate': { '$dateAdd' : { 'startDate': '$eventDate', 'unit': 'day', 'amount': 2, } }, 'unit': 'hour', 'amount': 12, } } } } ])) print(result) client.close() example()