以下代码
db.sales.aggregate(
[
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } },
totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } },
count: { $sum: 1 }
}
}
]
)
给出以下输出
{ "_id" : { "day" : 46, "year" : 2014 }, "totalAmount" : 150, "count" : 2 }
{ "_id" : { "day" : 34, "year" : 2014 }, "totalAmount" : 45, "count" : 2 }
{ "_id" : { "day" : 1, "year" : 2014 }, "totalAmount" : 20, "count" : 1 }
我的问题是为什么我们不能只使用
totalAmount: { $multiply: [ "$price", "$quantity" ] } ,
而不是 totalAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } },
以及 count: { $sum: 1 }
是如何工作的,因为 1 的目的是什么。