摘要

上篇文章介绍了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

[MongoDB]count,gourp,distinct的更多相关文章

  1. MongoDB常用查询,排序,group,SpringDataMongoDB update group

    MongoDB查询 指定查询并排序 db.getCollection('location').find({"site.id":"川A12345","s ...

  2. 存储库之mongodb,redis,mysql

    一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性 ...

  3. MongoDB,SpringBoot,SpringDataMongoDB

    MongoDB,SpringBoot,SpringDataMongoDB 双刃剑MongoDB的学习和避坑 MongoDB 是一把双刃剑,它对数据结构的要求并不高.数据通过key-value的形式存储 ...

  4. mongodb的连接问题,绑定IP惹的祸

    刚刚安装好了 mongodb .对着 mongodb in action上的例子敲了下面的代码: public class TestDBConnect { @Test public void test ...

  5. SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。

    top关键字:写在select后面 字段的前面 比如你要显示查询的前5条记录,如下所示: select top 5 * from Student 一般情况下,top是和order by连用的 orde ...

  6. 5.非关系数据库(Nosql)它mongodb:创建一个集合,导出和导入备份, 数据恢复,进出口

     1 固定集合 固定集合值得是事先创建并且大小固定的集合 2 固定集合的特征:固定集合非常像环形队列.假设空间不足,最早文档就会被删除,为新的文档腾出空间.一般来说.固定集合适用于不论什么想要自己 ...

  7. java 实现mongoDB 增加,删除,修改,查看,多条件查询,聚合查询,分组查询(史上最全)

    首先idea创建一手springboot项目 引入如下依赖 <dependency> <groupId>org.mongodb</groupId> <arti ...

  8. entity framework 新手入门篇(3)-entity framework实现orderby,count,groupby,like,in,分页等

    前面我们已经学习了entityframework的基本的增删改查,今天,我们将在EF中实现一些更加贴近于实际功能的SQL方法. 承接上面的部分,我们有一个叫做House的数据库,其中包含house表和 ...

  9. Redis安装,mongodb安装,hbase安装,cassandra安装,mysql安装,zookeeper安装,kafka安装,storm安装大数据软件安装部署百科全书

    伟大的程序员版权所有,转载请注明:http://www.lenggirl.com/bigdata/server-sofeware-install.html 一.安装mongodb 官网下载包mongo ...

随机推荐

  1. ubuntu安装mysql--参考的网址

    Ubuntu服务器常用配置-mysql数据库的安装 - SegmentFault MySQL 社区-你身边最优秀的MySQL中文社区! MySQL咨询,MySQL培训,MySQL优化 - Powere ...

  2. SVN+Jenkins或CCNET环境部署图

    目前来说比较常用的方案:

  3. PHP解释器引擎执行流程 - [ PHP内核学习 ]

    catalogue . SAPI接口 . PHP CLI模式解释执行脚本流程 . PHP Zend Complile/Execute函数接口化(Hook Call架构基础) 1. SAPI接口 PHP ...

  4. Automated CMS category, version identification (CMS vulnerability detection)

    catalog . 引言 . 不同CMS版本标的文件路径调研 . Code Example 1. 引言 微软解决大量CVE补丁更新的检测时候,采取的思路不是根据MD5对单个漏洞文件(.dll..sys ...

  5. AngularJs 脏值检查及其相关

    今天突然就想写写$digest和$apply,这些都是脏值检查的主体内容. 先以普通js来做一个简单的监控例子吧: var div = ducoment.getElementById("my ...

  6. [JavaEE]理解ThreadLocal

    转http://www.iteye.com/topic/103804 首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中 ...

  7. 用css3实现各种图标效果(1)

    公共样式 应该说现在绝大多数公司的项目前端都是一团乱,不仅仅是js写的没有任何框架而言,css同样也是如此,导致项目如果要升级或者说有新的变更维护起来就特别困难. 最近领导决定花大时间整理一下css样 ...

  8. HTML5学习总结-07 WebStorage 本地存储

    一 Storage sessionStorage session临时回话,从页面打开到页面关闭的时间段 窗口的临时存储,页面关闭,本地存储消失 localStorage 永久存储(可以手动删除数据)S ...

  9. CSS3-实现单选框radio的小动画

    在微信上看到一个教程文,觉得制作的小动画还是很有意思的,自己也试验了一下.一开始动画怎么都不执行(我用的HB),因为内置浏览器对css3的不兼容.加上各种浏览器前缀后就好了.但是旋转那个效果,在HB里 ...

  10. PHP中静态与抽象的概念

    静态//普通成员//普通成员是属于对象的 //静态成员//静态成员属于类的 类中的静态属性非常类似于函数的全局变量.类中的静态成员是不需要对象而使用类名来直接访问的. //关键字:static//se ...