1.聚合框架基本概念
MongoDB 聚合框架(Aggregation Framework)是一个计算框架,它可以: 作用在一个或几个集合上; 对集合中的数据进行的一系列运算; 将这些数据转化为期望的形式; 聚合框架是MongoDB在一个或几个集合上进行运算的框架,类似于SQL中的: GROUP BY LEFT OUTER JOIN AS 等等 mongodb聚合中管道和步骤 整个聚合运算过程称为管道(Pipeline),它是由多个步骤(Stage)组成的。将数据分步骤处理,逐步得到结果的方式叫做管道 每个管道: 接受一系列文档(原始数据); 每个步骤对这些文档进行一系列运算; 结果文档输出给下一个步骤; 使用格式: 以shell为例,使用格式为: pipeline = [{stage1}, {stage2}, … {stageN}]; db.collection.aggregate(pipeline, options)
聚合查询的使用场景
常用的步骤与sql对比
查询user表中性别为男的firename和lastename,并且跳过100条,只要20条
查询department部门表中女性少于10人的部门
2.常见的步骤
常见步骤 步骤 作用 sql等价查询 $match 过滤 WHERE $project 投影 AS $sort 排序 ORDER BY $group 分组 GROUP BY $skip/$limit 结果限制 SKIP/LIMIT $lookup 左外连接 LEFT OUTER JOIN # 尽可能避免使用,会造成mongodb性能下降 $unwind 展开文档 $graphLookup 图搜索 $facet/$bucket 分面搜索
步骤中常见的运算符
其他运算符
3.聚合框架的基本使用
4.视图
4.聚合优化
pass