[MongoDB]count,gourp,distinct

摘要

上篇文章介绍了CRUD的操作,会了这些,基本上可以完成很多工作了。但如果遇到统计类的操作,那么就需要学习下本篇的内容了。

相关文章

[MongoDB]入门操作

[MongoDB]增删改查

count,gourp,distinct,mapReduce

count

作用类似sql中的count函数,用来计数。

如上图所示,列举了不带参数,带参数,以及先find后count的方式。

distinct

去重,接收字段参数,语义:按某字段去重。比如上图中,我们按name去重。

group

顾名思义是分组的意思,与sql中group by相同。但在mongodb中group就比较复杂了。

参数:

key:按照key进行分组。

initial:每组都分享的“初始化函数”。可以在此处初始化一些变量,供每组进行使用。

$reduce:该函数有两个参数,第一个参数是当前document对象,第二个参数是上次操作的累计对象。collection中有多少个document就会调用多少次$reduce。

condition:过滤条件。

finalize:该函数会在每组document执行完成后,就会调用该函数,可以在这个函数中,做一些后续的工作,比如进行计数操作,统计结果的个数。

例子:根据age进行分组,查找每个年龄段的人员姓名。如图一所示:

图一

 计数,分组后,符合条件的user有多少个。

总结

本篇文章介绍了常见的集合聚合操作。其中,group的操作比较麻烦一点。了解group的参数的作用,平时这些命令可以保存一个模板。用到的时候沾过去,在这个的基础上做修改比较方便点。因为实在太长了。

参考

http://www.cnblogs.com/huangxincheng/archive/2012/02/21/2361205.html

posted @ 2016-05-31 19:06  wolfy  阅读(3322)  评论(0编辑  收藏  举报