查询$ mongodb中的数值范围总和

问题描述:

所以我有以下叫做费用的mongodb集合。

description | date | value | 
Parking Lot 2017-02-22 10 
McDonalds 2017-03-01 50 
BurgerKing 2017-03-12 100 
Parking Lot 2017-03-21 15 

我想查询与日期范围,如从2017年3月1日至2017年3月31日并获得唯一值字段的总和。

+0

尝试使用'$ match'阶段尝试过滤文档,然后在'value'上使用'$ sum'累加器使用'$ group'阶段' – Veeram

db.Expenses.aggregate([ 
{$match:{"date":{$gte:ISODate("2017-03-01T00:00:00Z"), 
       $lte:ISODate("2017-03-31T00:00:00Z")}}}, 
{$group:{_id:null, sumvalue:{$sum:"$value"}}} 
]);