$sum 函数在此 mongodb 查询中如何工作?

问题描述 投票:0回答:0

以下代码

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 的目的是什么。

mongodb mongodb-query aggregation-framework
© www.soinside.com 2019 - 2024. All rights reserved.