Mongodb 按天分组

Mongodb 按天分组,mongodb,Mongodb,我想有一个图表,显示每天有多少购买。然后,用户应该能够在显示今天、过去7天和过去30天的购买之间切换 假设我有很多(简化的)文档 purchase: { itemId: 'some id' createdAt: 'some date..' } 我想得到一个元素数组,每个元素对应于当天创建的“购买”文档的次数 我尝试过摆弄mongo聚合框架,但未能创建一个管理此框架的查询。此查询将按天分组购买 db.purchases.aggregate([ {$match: {createdA

我想有一个图表,显示每天有多少购买。然后,用户应该能够在显示今天、过去7天和过去30天的购买之间切换

假设我有很多(简化的)文档

purchase: {
  itemId: 'some id'
  createdAt: 'some date..'
}
我想得到一个元素数组,每个元素对应于当天创建的“购买”文档的次数


我尝试过摆弄mongo聚合框架,但未能创建一个管理此框架的查询。

此查询将按天分组购买

db.purchases.aggregate([
    {$match: {createdAt: {$gte: new Date(2014, 0, 1)}}},
    {$group: {_id: {year : {$year :'$createdAt'},
                    month: {$month :'$createdAt'}
                    day: {$dayOfMonth: '$createdAt'}
                    },
              count: {$sum: 1}
            }
])
您可以尝试通过调整$match来限制文档,使其仅返回您过去30天内购买的物品

如果要按月份对结果进行分组,请从id中删除“天”