【问题标题】:Get record count based upon Group, mongodb根据组获取记录数,mongodb
【发布时间】:2021-09-04 05:04:42
【问题描述】:

我有一个这样的 mongo 架构,

我希望特定用户的结果是状态字段的组+计数,类似这样(我知道这是错误的),

 db.timesheets.aggregate([
    {_id: user},
    {$group: {_id: "$status"}},
    {$count: 'count'}
])

我想要的最终结果是这样的:

{ "_id" : "Saved", count: 2 }
{ "_id" : "Approved", count: 1 }

目前我正在获取用户 ID 的所有记录,并从代码中过滤它,不知道如何在 mongodb 查询中执行此操作。需要一些帮助。

谢谢

【问题讨论】:

    标签: mongodb mongoose


    【解决方案1】:
    db.collection.aggregate([
      {
        "$group": {
          "_id": "$status",
          "count": {
            "$sum": 1
          }
        }
      }
    ])
    

    工作Mongo playground

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2020-04-08
      • 2020-01-16
      相关资源
      最近更新 更多