MongoDB $month 运算符介绍
$month
运算符是 MongoDB 聚合管道中的一个日期操作符,它可以从日期字段中提取月份并用于聚合操作。
语法
$month
运算符的语法如下:
{ $month: <dateExpression> }
其中,<dateExpression>
表示一个日期表达式,可以是文档中的日期字段或者是 $dateFromString
运算符返回的日期对象。
使用场景
$month
运算符通常用于对日期进行聚合操作,如统计每个月的销售额、每月用户活跃量等。
示例
假设我们有以下订单文档:
{
"_id": 1,
"orderDate": ISODate("2022-02-28T08:00:00Z"),
"total": 100
},
{
"_id": 2,
"orderDate": ISODate("2022-03-05T08:00:00Z"),
"total": 200
},
{
"_id": 3,
"orderDate": ISODate("2022-03-15T08:00:00Z"),
"total": 150
}
我们可以使用 $group
和 $month
运算符来计算每个月的订单总额:
db.orders.aggregate([
{
$group: {
_id: { $month: "$orderDate" },
totalSales: { $sum: "$total" }
}
}
])
运行以上聚合操作后,将返回以下结果:
{ "_id" : 2, "totalSales" : 100 }
{ "_id" : 3, "totalSales" : 350 }
结论
$month
运算符是 MongoDB 聚合管道中的一个非常有用的日期操作符,它可以帮助我们对文档中的日期进行聚合操作,从而得到更有价值的分析结果。