是否要按月查看注册用户的数量?

编程入门 行业动态 更新时间:2024-10-11 07:27:37

是否要按月查看<a href=https://www.elefans.com/category/jswz/34/1587031.html style=注册用户的数量?"/>

是否要按月查看注册用户的数量?

我正在编写查询,该查询将提供每月注册用户的数量。特定月份完成了多少注册。该月将按从1月到12月的升序排列。请帮助我解决此问题。一个月应该用单词而不是数字。我的方法如下:-

User.aggregate([{
    $match: {
      createdAt: {
        $gte: new Date("2016-01-01")
      } 
    } 
  }, { 
    $group: {
      _id: { 

        "month": { "$month": "$createdAt" },

      },
      count:{$sum: 1}
    }
  },{"$sort": {"createdAt": 1}}]).exec(function(err,data){
    if (err) {
      console.log('Error Fetching model');
      res.status(500).send();
    } else {
      res.send(data);
    }
  });

实际输出:-

{
    "_id" : {
        "month" : 4
    },
    "count" : 1.0
}

/* 2 */
{
    "_id" : {
        "month" : 5
    },
    "count" : 8.0
}

/* 3 */
{
    "_id" : {
        "month" : 2
    },
    "count" : 1.0
}

/* 4 */
{
    "_id" : {
        "month" : 3
    },
    "count" : 1.0
}

//预期输出

 {
        "_id" : {
            "month" : "February"
        },
        "count" : 1.0
    }


    {
        "_id" : {
            "month" : "March"
        },
        "count" : 1.0
    }

    {
        "_id" : {
            "month" : "April"
        },
        "count" : 1.0
    }

    {
        "_id" : {
            "month" : "May"
        },
        "count" : 8.0
    }
回答如下:看起来像$switch的一个好用例:

db.collection.aggregate([ // your aggregation stages { $addFields: { "_id.month": { $switch: { branches: [ { case: { $eq: [ "$_id.month", 1 ] }, then: "January" }, { case: { $eq: [ "$_id.month", 2 ] }, then: "February" }, { case: { $eq: [ "$_id.month", 3 ] }, then: "March" }, { case: { $eq: [ "$_id.month", 4 ] }, then: "April" } // ... ], default: "December" } } } } ])

Mongo Playground

更多推荐

是否要按月查看注册用户的数量?

本文发布于:2024-05-07 13:49:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756533.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:注册用户   按月   数量

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!