【问题标题】:如何从猫鼬结果中排除 _id?
【发布时间】:2022-01-23 11:28:24
【问题描述】:

我在获得这样的所需输出时遇到问题

    [
        {
            
             "status": "ONBOARD"
              "count": 1
        },
       {
            
             "status": "PENDING"
              "count": 1
        },
        
    ]

我是这样的:

[
    {
        "_id": {
            "status": "ONBOARD"
        },
        "count": 1
    },
    {
        "_id": {
            "status": "CLIENT_ROUND"
        },
        "count": 2
    },
    {
        "_id": {
            "status": "SCREENED"
        },
        "count": 1
    }
]

这是我的汇总:

const result = await Lead.aggregate([

      {
        $group: {
          _id: { status: '$status' },
          count: { $sum: 1 }
        }
        $project: { _id: 0, status: 1, count: 1 }
      }

帮助我获得输出我是新人我已经应用了 $project 但给了我错误

【问题讨论】:

    标签: mongodb mongoose


    【解决方案1】:

    你快到了。 status: "$_id.status" 在投影阶段。

    db.collection.aggregate([
      {
        $group: {
          _id: {
            status: "$status"
          },
          count: {
            $sum: 1
          }
        }
      },
      {
        $project: {
          _id: 0,
          status: "$_id.status",
          count: 1
        }
      }
    ])
    

    Sample Mongo Playground


    或者只是 $group_id: "$status"

    db.collection.aggregate([
      {
        $group: {
          _id: "$status",
          count: {
            $sum: 1
          }
        }
      },
      {
        $project: {
          _id: 0,
          status: "$_id",
          count: 1
        }
      }
    ])
    

    Sample Mongo Playground 2

    【讨论】:

      猜你喜欢
      • 2017-12-06
      • 1970-01-01
      • 2015-06-07
      • 2021-04-18
      • 2021-12-21
      • 2018-08-23
      • 2013-06-19
      • 2016-11-12
      • 1970-01-01
      相关资源
      最近更新 更多