数据结构如下: { _id: ObjectId, items: [ {amount: Number, date: Date} ] }
现在要统计指定_id下,items.date在某个时间范围内的amount总和,并且我想用一条语句统计多个时间段的总和,期望的结果大致是:
今天:100 本周:9482 本月:11930 本年:1403820
4 回复
是用 $unwind
数据如下:
/* 0 */ { “_id” : ObjectId(“51a9e1d168590303d0b1038f”), “items” : [{ “amount” : 10 }] }
/* 1 */ { “_id” : ObjectId(“51a9e1fa68590303d0b10390”), “items” : [{ “amount” : 20 }, { “amount” : 15 }, { “amount” : 30 }] }
/* 2 */ { “_id” : ObjectId(“51a9e20c68590303d0b10391”), “items” : [{ “amount” : 11 }, { “amount” : 12 }, { “amount” : 16 }] }