欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MongoDB初探-细说聚合

程序员文章站 2022-04-13 20:17:32
...

一、简单聚合工具 1、count count是最简单的聚合工具,用于返回集合中文档的数量。 2、distinct distinct和其他数据库的语义是相同的,用于找到给定键的所有不同的,即去重。 vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140324/2014

一、简单聚合工具

1、count

count是最简单的聚合工具,用于返回集合中文档的数量。

MongoDB初探-细说聚合

2、distinct

distinct和其他数据库的语义是相同的,用于找到给定键的所有不同的值,即去重。喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140324/2014032409103532.jpg" alt="\">

二、复杂聚合工具

1、group

group和SQL中的group by类似,用于分组。

MongoDB初探-细说聚合

group聚合可以使用condition过滤返回的文档,使用完成器finalizer精简返回的数据。

MongoDB初探-细说聚合

2、MapReduce

MapReduce是一种编程模型,通过将任务分解到不同的机器上,让每台机器完成一部分。当所有机器都完成的时候,再将结果汇集起来形成最终完整的结果,常用于分布式计算中。
MapReduce其实由两部分组成,一个map函数,一个reduce函数。
map:映射,将操作映射到集合中的每个文档,中间会调用emit(key,value)集合会按照指定的key进行映射分组。
reduce:化简,对map分组后的数据进行简化。

MongoDB初探-细说聚合

注:由于MapReduce处理速度慢,不能在实时环境中使用。可以使用后台任务运行MapReduce,然后对映射化简后的集合进行实时查询。MapReduce常用于离线处理。