
MongoDB除了基本的查询功能之外,还提供了强大的聚合功能。
我们可以使用count, distinct, group, mapreduce, aggregate等方法实现聚合查询。
count
查询记录条数。
命令:
1 |
|
distinct
用来找出给定键的所有不同的值
命令:
1 |
|
group
分组查询。
参数说明:
key:用来分组文档的字段。
initial: 每组都分享一个”初始化函数“
$reduce: 执行的reduce函数,第一个参数是当前的文档对象,第二个参数是上一次function操作的累计对象,有多少个文档, $reduce就会调用多少次。
condition:(可选)执行过滤的条件
finalize:(可选)在reduce执行完成,结果集返回之前对结果集最终执行的函数。
MapReduce
命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
MongoDB中的MapReduce相当于关系数据库中的group by。
参数:
map函数:这个称为映射函数,里面会调用emit(key,value),集合会按照你指定的key进行映射分组。
reduce函数:这个称为简化函数,会对map分组后的数据进行分组简化,注意:在reduce(key,value)中的key就是emit中的key,vlaue为emit分组后的emit(value)的集合。
更多mongodb相关文章请关注python自学网。