node.js - mongoDB中如何统计总计数?

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

您能告诉我如何统计状态为p总数吗? 这是我的代码 https://mongoplayground.net/p/d2Bmk4srq0O

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

  }
})

我想统计所有状态为 p

的文档

预期输出。类似的事情

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

最佳答案

您需要输入 $sum $cond就在这里

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

MongoPlayground

关于node.js - mongoDB中如何统计总计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57951996/

相关文章:

java - MongoDB Java驱动程序: distinct and iterative

javascript - 按 $project 字段聚合和 $lookup

node.js - Mongoose/mongodb - 只获取每个 id 的最新记录

node.js - 登录后需要做什么才能从 mongodb 中提取用户的个人资料?

arrays - MongoDB 对象属性 $ 存在于嵌套数组中

javascript - 如何使用Mongoose查询导入的json

javascript - 创建 ES6 类实例后可以立即将实例绑定(bind)到非静态方法吗?

javascript - 多人游戏的 jQuery 替代品?

mysql - 如何在node.js View 中执行MySQL查询?

javascript - 在另一个文件中访问 MySQL 的输出