如何在 MongoDB 中获得简单的计数和分组?
Posted
技术标签:
【中文标题】如何在 MongoDB 中获得简单的计数和分组?【英文标题】:how to get simple count & group by in MongoDB? 【发布时间】:2022-01-19 23:07:36 【问题描述】:假设我有一个包含两个类别的数据,例如 - 足球或篮球,其中足球值为 1,篮球值为 2,我们有以下数据:
_id game
'1' 1
'2' 1
'3' 2
'4' 1
'5' 2
(数据包含 3 次足球和 2 次篮球)。 我想执行返回以下对象的聚合:
footballCount: 3,
basketballCount: 2
我想不出这样的聚合会导致这样的结构。 我该怎么做?
【问题讨论】:
this conditional sum 你在找什么吗? 【参考方案1】:您可以针对不同的情况进行条件求和。
db.collection.aggregate([
$group:
_id: null,
footballCount:
$sum:
"$cond":
"if":
$eq: [
"$game",
1
]
,
"then": 1,
"else": 0
,
basketballCount:
$sum:
"$cond":
"if":
$eq: [
"$game",
2
]
,
"then": 1,
"else": 0
])
这是Mongo playground 供您参考。
【讨论】:
以上是关于如何在 MongoDB 中获得简单的计数和分组?的主要内容,如果未能解决你的问题,请参考以下文章
如何在mongodb querybuilder中“分组”字段“计数”?
如何在没有任何统计数据(如 Pandas 中的平均值或计数)的情况下进行简单分组?
按月对记录进行分组并计数 - Mongoose、nodeJs、mongoDb