运算符 $dateFromParts
从各个组件(如年份、月、日、小时、分钟、秒和毫秒)构造日期。 处理单独存储日期组件的数据时,此运算符非常有用。
语法
{ $dateFromParts: { year: <year>, month: <month>, day: <day>, hour: <hour>, minute: <minute>, second: <second>, millisecond: <millisecond>, timezone: <timezone> } }
参数
参数 | 说明 |
---|---|
year |
日期的年份部分。 |
month |
日期的月份组件。 |
day |
日期的日期部分。 |
hour |
日期的小时部分。 |
minute |
日期的分钟分量。 |
second |
日期的第二个组成部分。 |
millisecond |
日期的毫秒部分。 |
timezone |
可选。 时区规范。 |
例子
示例 1:构造开始日期
构造促销事件的开始日期:
db.collection.aggregate([
{
$project: {
eventName: 1,
startDate: {
$dateFromParts: {
year: "$promotionEvents.promotionalDates.startDate.Year",
month: "$promotionEvents.promotionalDates.startDate.Month",
day: "$promotionEvents.promotionalDates.startDate.Day"
}
}
}
}
])
示例 2:构造结束日期
构造促销事件的结束日期:
db.collection.aggregate([
{
$project: {
eventName: 1,
endDate: {
$dateFromParts: {
year: "$promotionEvents.promotionalDates.endDate.Year",
month: "$promotionEvents.promotionalDates.endDate.Month",
day: "$promotionEvents.promotionalDates.endDate.Day"
}
}
}
}
])