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

$DateTrunc

Nouveau depuis la version 8.0

Non pris en charge par le cluster Elastic.

L'opérateur $dateTrunc d'agrégation dans Amazon DocumentDB tronque une date selon une unité spécifiée.

Paramètres

  • date: expression de date qui prend la forme d'une date ou d'un horodatage.

  • unit: chaîne qui indique l'unité de temps pour l'expression subtrahend. Les unités prises en charge sont year quartermonth,week,day,hour,minute,second, etmillisecond.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$dateTruncopérateur pour tronquer une date à l'heure près.

Création d'exemples de documents

db.events.insertMany([ { eventName: "Event 1", eventTime: ISODate("2025-04-01T12:15:00Z") }, { eventName: "Event 2", eventTime: ISODate("2025-08-15T14:33:22Z") }, ]);

Exemple de requête

db.events.aggregate([ { $project: { eventName: 1, eventTime: 1, truncatedToHour: { $dateTrunc: { date: "$eventTime", unit: "hour" } } } } ]);

Sortie

[ { _id: ObjectId('6924a258d66dcae121d29515'), eventName: 'Event 1', eventTime: ISODate('2025-04-01T12:15:00.000Z'), truncatedToHour: ISODate('2025-04-01T12:00:00.000Z') }, { _id: ObjectId('6924a258d66dcae121d29516'), eventName: 'Event 2', eventTime: ISODate('2025-08-15T14:33:22.000Z'), truncatedToHour: ISODate('2025-08-15T14:00:00.000Z') } ]

Exemples de code

Pour afficher un exemple de code d'utilisation de la $dateTrunc 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 events = db.collection('events'); const result = await events.aggregate([ { $project: { eventName: 1, eventTime: 1, truncatedToHour: { $dateTrunc: { date: "$eventTime", unit: "hour" } } } } ]).toArray(); console.log(result); 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'] events = db['events'] result = list(events.aggregate([ { "$project": { "eventName": 1, "eventTime": 1, "truncatedToHour": { "$dateTrunc": { "date": "$eventTime", "unit": "hour" } } } } ])) print(result) client.close() example()