如何计算MongoDB中按月(日期字段)分组的用户数?

时间:2019-11-01 02:29:34

标签: mongodb aggregation-framework

我有一个这样的集合:

{
   _id: uuid.v4(),
   startDate: Date(),
}

我对此没有任何想法。我要寻找的最终结果将是这样的(total日期的用户数):

[
  {
    date: "2018-12",
    total: 12
  },
  {
    date: "2019-01",
    total: 32
  },
  {
    date: "2019-02",
    total: 23
  },
  ...
]

任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

尝试此查询

db.collectionName.aggregate([
    {
        $project:{
             period:{$dateToString:{format:"%Y-%m",date:"$startDate"}}
         }
    },{
        $group:{ _id : {date : "$period"},count:{$sum:1}}
    },
      { $sort : { _id : 1 } }
]);