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

$dateFromString

Der $dateFromString Aggregationsoperator in Amazon DocumentDB ermöglicht es Ihnen, eine Datums- und Uhrzeitzeichenfolge in ein Datumsobjekt zu konvertieren. Dies ist nützlich, wenn Ihre Daten als Zeichenketten gespeichert sind, Sie aber datumsbasierte Operationen mit den Daten durchführen müssen.

Parameter

  • dateString: Eine Zeichenfolge, die ein Datum und eine Uhrzeit darstellt.

  • format: (optional) Eine Zeichenfolge, die das Format von angibtdateString. Falls nicht angegeben, versucht Amazon DocumentDB, die Zeichenfolge im ISO-8601-Format zu analysieren.

  • timezone: (optional) Eine Zeichenfolge, die die Zeitzone angibt. Falls nicht angegeben, verwendet Amazon DocumentDB die Zeitzone des Servers.

  • onError: (optional) Gibt die Aktion an, die ausgeführt werden soll, wenn die Konvertierung fehlschlägt. Mögliche Werte sind 'error' (der Standardwert, der einen Fehler auslöst), 'null' (Rückgabenull) oder 'replace' (ersetzt den Wert durch die in der onErrorMessage Option angegebene Ersatzzeichenfolge).

  • onErrorMessage: (optional) Wenn auf gesetzt onError ist'replace', gibt diese Option die Ersatzzeichenfolge an.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt, wie Sie $dateFromString eine Datumszeichenfolge in Amazon DocumentDB in ein Datumsobjekt konvertieren können.

Erstellen Sie Beispieldokumente

db.missionLog.insertMany([ { _id: 1, event: "missionStart", logDate: "2020-03-15T13:41:33"}, { _id: 2, event: "jumpPoint1", logDate: "2020-03-15T13:45:34"}, { _id: 3, event: "jumpPoint2", logDate: "2020-03-15T13:48:21"}, { _id: 4, event: "jumpPoint3", logDate: "2020-03-15T13:52:09"}, { _id: 5, event: "missionEnd", logDate: "2020-03-15T13:58:44"} ]);

Beispiel für eine Abfrage

db.missionLog.aggregate([ { $project: { event: '$event', logDate: { $dateFromString: { dateString: '$logDate' } } } } ]);

Ausgabe

[ { "_id": 1, "event": "missionStart", "logDate": ISODate("2020-03-15T13:41:33Z") }, { "_id": 2, "event": "jumpPoint1", "logDate": ISODate("2020-03-15T13:45:34Z") }, { "_id": 3, "event": "jumpPoint2", "logDate": ISODate("2020-03-15T13:48:21Z") }, { "_id": 4, "event": "jumpPoint3", "logDate": ISODate("2020-03-15T13:52:09Z") }, { "_id": 5, "event": "missionEnd", "logDate": ISODate("2020-03-15T13:58:44Z") } ]

Codebeispiele

Um ein Codebeispiel für die Verwendung des $dateFromString 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('missionLog'); const result = await collection.aggregate([ { $project: { event: '$event', logDate: { $dateFromString: { dateString: '$logDate' } } } } ]).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['missionLog'] result = list(collection.aggregate([ { '$project': { 'event': '$event', 'logDate': { '$dateFromString': { 'dateString': '$logDate' } } } } ])) print(result) client.close() example()