MongoDB学习总结(三) —— 常用聚合函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MongoDB学习总结(三) —— 常用聚合函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2272字,纯文字阅读大概需要4分钟。
内容图文
下面我们直奔主题,用简单的实例依次介绍一下。
1.count()函数
集合的count函数是最简单的聚合函数,返回集合中文档的数量。
2.distinct()函数
用于找出一个集合中,给定键的所有不同的值。
我们还可通过在数据库上运行命令,来执行distinct聚合函数,此时我们必须指定集合和键:
命令参数中,键"distinct"指定统计的集合名称,键"key"指定统计的键的名称!返回一个文档,键“value”指定统计的键在该集合中的所有值!我们还可以看出,在统计时还使用了索引。
3.group()函数
group聚合可以实现稍微复杂一些的操作,其执行过程为:先按照指定的键对集合中的文档进行分组,然后通过聚合每一组中的所有文档,来产生最终的结果文档。
下面对student集合中的age进行group,然后对每一组文档进行处理,找出对应的name。
Key: 指定要进行分组所使用的键名。
Initial: 设置初始化值,针对分组后的每一组。
$reduce:函数,第一个参数是当前的文档对象,第二个参数是文档循环的累加。根据所需的条件对每个分组进行聚合操作,每一组会有一个独立的累加器文档,记录聚合结果。
我们还可通过在数据库上运行命令
"ns": 指定集合名。
以上是对集合所有记录进行分组操作,当然还可以根据某些条件来进行分组。下面我们对name是jack,lucy,james的进行分组。
这里我们看到通过condition条件过滤,只对名字是jack,lucy,james的文档进行分组,condition这里可以使用缩写cond或者q。
另外我们看到还有一个参数finalize,这个参数目的是对$reduce聚合后的结果再次进行处理,最终得到所需的结果。
4.MapReduce函数
MapReduce是聚合里最复杂的,也是最灵活的,count,distince,group能做到的,它都能做到。
map:映射函数,将操作映射到集合中的每一个文档,集合会按照你指定的key进行映射分组。使用函数emit(key,value)
reduce:化简函数,会对map分组后的数据进行分组简化,直到每个键的列表只有一个值为止,返回结果集。
mapReduce: 最后执行函数,参数为map,reduce。
概念不好理解,看下实例就很明白了。
从这个实例可以看出,map使用 使用函数emit(key,value),根据name键进行映射分组,每个键对应数组{count:1}的键值。
然后reduce函数根据每个键所对应的键值进行相应操作。最终得到所需的结果集。
最后mapReduce函数输出这个结果集。
下面我们看看这个结果集的值。
常用的聚合函数使用就介绍到这里,下一篇学习一下索引的一些基本用法。
MongoDB学习总结(三) —— 常用聚合函数
标签:用法 映射 对象 initial 学习总结 ack 集合 初始化 记录
本文系统来源:http://www.cnblogs.com/mejoy/p/6008233.html
内容总结
以上是互联网集市为您收集整理的MongoDB学习总结(三) —— 常用聚合函数全部内容,希望文章能够帮你解决MongoDB学习总结(三) —— 常用聚合函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。