$dateToString - Amazon DocumentDB

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

$dateToString

Amazon DocumentDB 中的$dateToString聚合运算符用于将日期或时间戳值转换为字符串表示形式。当您需要以特定方式格式化日期和时间以进行显示或进一步处理时,这很有用。

参数

  • date:要转换为字符串的日期或时间戳值。

  • format:一个字符串,它指定应以何种格式表示日期。格式字符串可以包含各种格式说明符,例如%Y四位数年份、%m两位数月份、%d两位数月份的日期等。

  • timezone:(可选)用于转换的时区。如果未指定,则使用托管 Amazon DocumentDB 集群的服务器的时区。

  • onNull:(可选)如果date参数为,则返回的值null

示例(MongoDB 外壳)

以下示例演示了如何使用运$dateToString算符来格式化missionLog集合的logDate字段。

创建示例文档

db.missionLog.insertMany([ { _id: 1, "event":"missionStart", logDate: new Date("2020-03-15T13:41:33Z") }, { _id: 2, "event":"jumpPoint1", logDate: new Date("2020-03-15T13:45:34Z") }, { _id: 3, "event":"jumpPoint2", logDate: new Date("2020-03-15T13:48:21Z") }, { _id: 4, "event":"jumpPoint3", logDate: new Date("2020-03-15T13:52:09Z") }, { _id: 5, "event":"missionEnd", logDate: new Date("2020-03-15T13:58:44Z") } ]);

查询示例

db.missionLog.aggregate([ { $project: { event: "$event", logDateFormatted: { $dateToString: { format: "%Y-%m-%d %H:%M:%S", date: "$logDate" } } } } ])

输出

[ { "_id": 1, "event": "missionStart", "logDateFormatted": "2020-03-15 13:41:33" }, { "_id": 2, "event": "jumpPoint1", "logDateFormatted": "2020-03-15 13:45:34" }, { "_id": 3, "event": "jumpPoint2", "logDateFormatted": "2020-03-15 13:48:21" }, { "_id": 4, "event": "jumpPoint3", "logDateFormatted": "2020-03-15 13:52:09" }, { "_id": 5, "event": "missionEnd", "logDateFormatted": "2020-03-15 13:58:44" } ]

代码示例

要查看使用该$dateToString命令的代码示例,请选择要使用的语言的选项卡:

Node.js

以下是在 Node.js 应用程序中使用$dateToString运算符的示例:

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", logDateFormatted: { $dateToString: { format: "%Y-%m-%d %H:%M:%S", date: "$logDate" } } } } ]).toArray(); console.log(result); await client.close(); } example();
Python

以下是在 Python 应用程序中使用$dateToString运算符的示例:

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'] pipeline = [ { '$project': { 'event': '$event', 'logDateFormatted': { '$dateToString': { 'format': '%Y-%m-%d %H:%M:%S', 'date': '$logDate' } } } } ] result = list(collection.aggregate(pipeline)) print(result) client.close() example()