php数据group去重,MongoDB_Mongodb聚合函数count、distinct、group如何实现数据聚合操作, 上篇文章给大家介绍了Mong - phpStudy...
Mongodb聚合函数count、distinct、group如何实现数据聚合操作
上篇文章给大家介绍了Mongodb中MapReduce实现数据聚合方法详解,我们提到过Mongodb中进行数据聚合操作的一种方式——MapReduce,但是在大多数日常使用过程中,我们并不需要使用MapReduce来进行操作。在这边文章中,我们就简单说说用自带的聚合函数进行数据聚合操作的实现。
MongoDB除了基本的查询功能之外,还提供了强大的聚合功能。Mongodb中自带的基本聚合函数有三种:count、distinct和group。下面我们分别来讲述一下这三个基本聚合函数。
(1)count
作用:简单统计集合中符合某种条件的文档数量。
使用方式:db.collection.count()或者db.collection.find().count()
参数说明:其中是用于查询的目标条件。如果出了想限定查出来的最大文档数,或者想统计后跳过指定条数的文档,则还需要借助于limit,skip。
举例:
db.collection.find().limit();
db.collection.find().skip();
(2)distinct
作用:用于对集合中的文档针进行去重处理
使用方式:db,collection.distinct(field,query)
参数说明:field是去重字段,可以是单个的字段名,也可以是嵌套的字段名;query是查询条件,可以为空;
举例:
db.collection.distinct("user",{“age":{$gt:28}});//用于查询年龄age大于28岁的不同用户名
除了上面的用法外,还可以使用下面的另外一种方法:
db.runCommand({"distinct":"collectionname","key":"distinctfied","query":})
collectionname:去重统计的集合名,distinctfield:去重字段,,是可选的限制条件;
举例:
这两种方式的区别:第一种方法是对第二种方法的封装,第一种只返回去重统计后的字段值集合,但第二种方式既返回字段值集合也返回统计时的细节信息。
(3)group
作用:用于提供比count、distinct更丰富的统计需求,可以使用js函数控制统计逻辑
使用方式:db.collection.group(key,reduce,initial[,keyf][,cond][,finalize])
备注说明:在2.2版本之前,group操作最多只能返回10000条分组记录,但是从2.2版本之后到2.4版本,mongodb做了优化,能够支持返回20000条分组记录返回,如果分组记录的条数大于20000条,那么可能你就需要其他方式进行统计了,比如聚合管道或者MapReduce;
上面对Mongodb中自带的三种三种聚合函数进行了简单的描述,并对需要注意的地方进行了简单的说明,如果需要深入使用,可以进入Mongodb官网查看相关细节信息,谢谢。相关阅读:
jQuery对checkbox 复选框的全选全不选反选的操作
mysql 复制过滤重复如何解决
Android实现可浏览和搜索的联系人列表
C#使用系统方法发送异步邮件完整实例
MYSQL必知必会读书笔记第七章之数据过滤
android 引导界面的实现方法
java中的自增问题介绍
使用JS获取当前地理位置方法汇总
js分页代码分享
SQLite学习手册(SQLite在线备份)
Android解决dialog弹出时无法捕捉Activity的back事件的方法
解决 Xcode 6-Beta2 智能提示bug
JavaScript实现的一个倒计时的类
Objective C从远程url下载图片方法汇总
php数据group去重,MongoDB_Mongodb聚合函数count、distinct、group如何实现数据聚合操作, 上篇文章给大家介绍了Mong - phpStudy...相关推荐
- mye连接mysql数据库_MySQL_如何在Java程序中访问mysql数据库中的数据并进行简单的操作,在上篇文章给大家介绍了Myeclip - phpStudy...
如何在Java程序中访问mysql数据库中的数据并进行简单的操作 在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据 ...
- 第四章 SQL聚合函数 COUNT(二)
文章目录 第四章 SQL聚合函数 COUNT(二) 权限 性能 未提交事务所做的更改 示例 第四章 SQL聚合函数 COUNT(二) 权限 要使用COUNT(*),必须对指定的表具有表级别的SELEC ...
- mysql 聚集函数与group by,聚集函数可以和where一起用吗 聚合函数如何与group by函数一起使用...
SQL中where语句能用聚合函数吗?聚合函数应该用在having子句中. 聚合函数如果想用在where中的话,应该只能用子查询来实现(在子查询中进行聚合函数计算,然后在主查询中进行where判断). ...
- php mssql统计表中的主键个数,MSSQL_SQL Server中统计每个表行数的快速方法,我们都知道用聚合函数count()可 - phpStudy...
SQL Server中统计每个表行数的快速方法 我们都知道用聚合函数count()可以统计表的行数.如果需要统计数据库每个表各自的行数(DBA可能有这种需求),用count()函数就必须为每个表生成一 ...
- 第三章 SQL聚合函数 COUNT(一)
文章目录 第三章 SQL聚合函数 COUNT(一) 大纲 参数 描述 没有行返回 流字段 第三章 SQL聚合函数 COUNT(一) 返回表或指定列中的行数的聚合函数. 大纲 COUNT(*)COUNT ...
- python数据框去重_【Python】基于某些列删除数据框中的重复值
Python按照某些列去重,可用drop_duplicates函数轻松处理.本文致力用简洁的语言介绍该函数. 一.drop_duplicates函数介绍 drop_duplicates函数可以按某列去 ...
- mysql聚合函数count用法_MySQL中聚合函数count的使用和性能优化技巧
本文的环境是Windows 10,MySQL版本是5.7.12-log 一. 基本使用 count的基本作用是有两个: 统计某个列的数据的数量: 统计结果集的行数: 用来获取满足条件的数据的数量.但是 ...
- MySQL中聚合函数count的使用和性能优化
本文将探讨以下问题 1.count(*) . count(n).count(null)与count(fieldName) 2.distinct 与 count 连用 3.group by (多个字段) ...
- mysql 更新时间加数字_Mysql实战45讲笔记:8、聚合函数count
count(*)的实现方式 在不同的MySQL引擎中,count()有不同的实现方式 1. MyISAM引擎把一个表的总行数存在了磁盘上,因此执行count()的时候会直接返回这个数,效率很高: 2. ...
最新文章
- ubuntu vscode_如何在Ubuntu-18.04下用VSCode编译LibTorch
- 使用JustDecompile修改程序集
- Kail Linux渗透测试实训手册第3章信息收集
- CCNA-EiGrp学习
- Android实现相册分享功能,Android系统自带分享功能的实现(可同时分享文字和图片)...
- spring mvc学习(17)Intellij IDEA创建maven项目无java文件问题
- Hibernate框架(持久化类、缓存、事务管理)
- python第二阶段第四天 装饰器和匿名函数
- 判别模型和生成模型(Discriminative Model Generative Model)【转】
- AspectJ在Android 中的使用攻略
- Spring【DAO模块】就是这么简单
- iOS开发之时区的获取,设置,创建
- 在网页中显示某个目录文件(未成功)
- 如何使用命令行进行基本操作
- 共享图书横空出世一本书看十天只需一块钱
- latex 琐粹记录
- 一个故事轻松记忆常见252个英语字根(1~30)
- 浏览器主页被hao123锁定解决办法
- Android 7.1 亮度调节之BrightnessController
- 免费外贸Wordpress网站内容采集教程