$toDate - Amazon DocumentDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

$toDate

4.0 版的新功能

Amazon DocumentDB $toDate 中的彙總運算子用於將日期和時間字串轉換為 BSON 日期類型。這是$dateToString運算子的反向操作。

參數

  • dateString:要轉換為 BSON 日期類型的日期和時間的字串表示。

  • format:(選用) 指定 格式的字串dateString。如果未提供,運算子將嘗試以dateString各種標準日期和時間格式剖析 。

  • timezone:(選用) 字串,代表用於轉換的時區。如果未提供,則會使用本機時區。

範例 (MongoDB Shell)

下列範例示範如何使用 $toDate運算子將日期字串轉換為 BSON 日期類型。

建立範例文件

db.events.insertMany([ { _id: 1, eventName: "Mission Start", eventTime: "2023-04-15T10:30:00Z" }, { _id: 2, eventName: "Checkpoint Reached", eventTime: "2023-04-15T11:15:00Z" }, { _id: 3, eventName: "Mission End", eventTime: "2023-04-15T12:00:00Z" } ]);

查詢範例

db.events.aggregate([ { $project: { eventName: 1, eventTimeDate: { $toDate: "$eventTime" } } } ]);

輸出

[ { "_id": 1, "eventName": "Mission Start", "eventTimeDate": ISODate("2023-04-15T10:30:00Z") }, { "_id": 2, "eventName": "Checkpoint Reached", "eventTimeDate": ISODate("2023-04-15T11:15:00Z") }, { "_id": 3, "eventName": "Mission End", "eventTimeDate": ISODate("2023-04-15T12:00:00Z") } ]

程式碼範例

若要檢視使用 $toDate命令的程式碼範例,請選擇您要使用的語言標籤:

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: { eventName: 1, eventTimeDate: { $toDate: '$eventTime' } } } ]).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'] collection = db['events'] result = list(collection.aggregate([ { '$project': { 'eventName': 1, 'eventTimeDate': { '$toDate': '$eventTime' } } } ])) print(result) client.close() example()