$dateTrunc - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

$dateTrunc

バージョン 8.0 の新機能

Elastic クラスターではサポートされていません。

Amazon DocumentDB の$dateTrunc集計演算子は、指定された単位に日付を切り捨てます。

パラメータ

  • date: 日付またはタイムスタンプに解決される日付式。

  • unit: サブtrahend 式の時間単位を指定する文字列。サポートされている単位は、year、、quartermonthweekdayhourminutesecond、、および ですmillisecond

例 (MongoDB シェル)

次の例は、 $dateTrunc演算子を使用して日付を に切り捨てて 1 時間にする方法を示しています。

サンプルドキュメントを作成する

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

クエリの例

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

出力

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

コードの例

$dateTrunc コマンドを使用するコード例を表示するには、使用する言語のタブを選択します。

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