3 mongodb mongodb-query aggregation-framework
我试图计算某个特定值在集合中出现的次数。
{
_id:1,
field1: value,
field2: A,
}
{
_id:2,
field1: value,
field2: A,
}
{
_id:3,
field1: value,
field2: C,
}
{
_id:4,
field1: value,
field2: B,
}
Run Code Online (Sandbox Code Playgroud)
我想要的是计算 A 发生、B 发生和 C 发生的次数并返回计数。
我想要的输出
{
A: 2,
B: 1,
C: 1,
}
Run Code Online (Sandbox Code Playgroud)
$group
这是聚合管道中阶段的典型用例。你可以这样做:
$group
- 按字段2对所有文档进行分组$sum
- 计算field2每个值的文档数量db.collection.aggregate([
{
"$group": {
"_id": "$field2",
"count": {
"$sum": 1
}
}
}
])
Run Code Online (Sandbox Code Playgroud)