如何在mongoDB中进行总计数?

时间:2019-09-16 07:15:05

标签: node.js mongodb mongoose mongodb-query aggregation-framework

能否请您告诉我如何计算状态为person的总计p。 这是我的代码 https://mongoplayground.net/p/d2Bmk4srq0O

db.collection.aggregate({
  $group: {
    _id: "$Department",
    totalAttendance: {
      $sum: "$Status"
    },

  }
})

我要计算状态为p

的所有文档

预期的输出。像这样的东西

[
  {
    "_id": "THBS",
    "totalAttendance": 10
  },
  {
    "_id": "HUAWEI",
    "totalAttendance": 2
  }
]

1 个答案:

答案 0 :(得分:3)

您需要将$sum $cond放在此处

db.collection.aggregate([
  { "$group": {
    "_id": "$Department",
    "totalAttendance": {
      "$sum": {
        "$cond": [
          { "$eq": [{ "$ltrim": { "input": "$Status" } }, "P       "] },
          1,
          0
        ]
      }
    }
  }}
])

MongoPlayground