本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
$dateFromString
Amazon DocumentDB 中的$dateFromString聚合运算符允许您将日期时间字符串转换为日期对象。当您的数据存储为字符串但需要对数据执行基于日期的操作时,这很有用。
参数
-
dateString:表示日期和时间的字符串。 -
format:(可选)指定格式的字符串dateString。如果未提供,Amazon DocumentDB 将尝试以 ISO-8601 格式解析字符串。 -
timezone:(可选)指定时区的字符串。如果未提供,Amazon DocumentDB 将使用服务器的时区。 -
onError:(可选)指定转换失败时要采取的操作。可能的值是'error'(默认值,会引发错误)、'null'(返回null)或'replace'(用onErrorMessage选项中指定的替换字符串替换值)。 -
onErrorMessage:(可选)如果设置onError为'replace',则此选项指定替换字符串。
示例(MongoDB 外壳)
以下示例演示了$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命令的代码示例,请选择要使用的语言的选项卡: