来源:我的博客站 OceanicKang |《MongoDB 数据操作(七)聚合(3)group操作》
上一篇:《MongoDB 数据操作(七)聚合(2)消除重复数据》
使用 group
可以实现数据的分组操作
在 MongoDB 中会将集合依据指定的 key 的不同进行分组操作,并且每一个组都会产生一个处理的文档结果
查询所有年龄大于等于 19 岁的学生信息,并且按照年龄分组
> db.runCommand({"group": {
"ns": "students",
"key": {"age": true},
"initial": {"count": 0},
"condition": {"age": {"$gte": 19}},
"$reduce": function (doc, prev) {
prev.count++;
}
}});
ns
:集合key
:指定字段initial
:初始化condition
:条件$reduct
:每条数据执行操作
以上的操作代码实现的就属于一种 MapReduce
,但是这样只是根据传统的数据库的设计思路,实现了一个所谓的分组操作
但是这个分组操作的最终结果是非常有限的