$dateAdd - Amazon DocumentDB

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

$dateAdd

バージョン 5.0 の新機能

Amazon DocumentDB の$dateAdd集計演算子を使用すると、日付と時刻の値に期間を追加できます。

パラメータ

  • date: 期間を追加する日付と時刻の値。

  • duration: date値に追加する期間。これは、、years、、monthsweeks、、dayshoursminutesおよび のキーを持つオブジェクトとして指定できますseconds

  • timezone: (オプション) 日付の追加を実行するときに使用するタイムゾーン。指定しない場合、Amazon DocumentDB クラスターのデフォルトのタイムゾーンが使用されます。

例 (MongoDB シェル)

次の例は、 $dateAdd演算子を使用して日付に 2 日と 12 時間を追加する方法を示しています。

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

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

クエリの例

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

出力

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

コードの例

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

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