$dateFromString - Amazon DocumentDB

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

$dateFromString

Amazon DocumentDB $dateFromString 中的彙總運算子可讓您將日期時間字串轉換為日期物件。當您的資料儲存為字串,但您需要對資料執行以日期為基礎的操作時,這會很有用。

參數

  • dateString:代表日期和時間的字串。

  • format:(選用) 指定 格式的字串dateString。如果未提供,Amazon DocumentDB 將嘗試剖析 ISO-8601 格式的字串。

  • timezone:(選用) 指定時區的字串。如果未提供,Amazon DocumentDB 將使用伺服器的時區。

  • onError:(選用) 指定轉換失敗時要採取的動作。可能的值為 'error'(預設值,這會擲回錯誤)、 'null' (傳回 null) 或 'replace'(將值取代為 onErrorMessage選項中指定的取代字串)。

  • onErrorMessage:(選用) 如果 onError 設定為 'replace',此選項會指定取代字串。

範例 (MongoDB Shell)

下列範例示範如何使用 $dateFromString將日期字串轉換為 Amazon DocumentDB 中的日期物件。

建立範例文件

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

查詢範例

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

輸出

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

程式碼範例

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

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