$dateFromString - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$dateFromString

L'opérateur $dateFromString d'agrégation dans Amazon DocumentDB vous permet de convertir une chaîne date-heure en objet de date. Cela est utile lorsque vos données sont stockées sous forme de chaînes, mais que vous devez effectuer des opérations basées sur la date sur les données.

Paramètres

  • dateString: chaîne représentant une date et une heure.

  • format: (facultatif) Chaîne qui spécifie le format dudateString. Si ce n'est pas le cas, Amazon DocumentDB tentera d'analyser la chaîne au format ISO-8601.

  • timezone: (facultatif) Chaîne qui indique le fuseau horaire. Si ce n'est pas le cas, Amazon DocumentDB utilisera le fuseau horaire du serveur.

  • onError: (facultatif) Spécifie l'action à entreprendre en cas d'échec de la conversion. Les valeurs possibles sont 'error' (la valeur par défaut, qui génère une erreur), 'null' (renvoienull) ou 'replace' (remplace la valeur par la chaîne de remplacement spécifiée dans l'onErrorMessageoption).

  • onErrorMessage: (facultatif) Si cette option onError est définie sur'replace', cette option indique la chaîne de remplacement.

Exemple (MongoDB Shell)

L'exemple suivant montre comment $dateFromString convertir une chaîne de date en objet de date dans Amazon DocumentDB.

Création d'exemples de documents

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"} ]);

Exemple de requête

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

Sortie

[ { "_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") } ]

Exemples de code

Pour afficher un exemple de code relatif à l'utilisation de la $dateFromString commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

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()