什么是mongoDB聚合框架
- MongoDB聚合框架(Aggregation Framework)是一个计算框架,它可以:
- 作用在一个或几个集合上;
- 对集合中的数据进行的一系列运算;
- 将这些数据转化为期望的形式;
- 从效果而言,聚合框架相当于sql查询中的:
- GROUP BY
- LEFT OUTER JOIN
- AS
pipeline 和stage
- 整个聚合运算过程称为管道(Pipeline),它是由多个步骤(stage)组成的,每个管道:
- 接受一系列文档(原始数据);
- 每个步骤对这些文档进行一系列运算;
- 结果文档输出给下一个步骤;
聚合运算的基本格式
pipeline = [$stage1,$stage2,...$stageN];
步骤 | 作用 | Sql等价运算符 |
$match | 过滤 | where |
$project | 投影 | as |
$sort | 排序 | order by |
$group | 分组 | group |
$skip/$limit | 结果限制 | skip/limit |
$lookup | 左外连接 | left outer join |
$unwind | 展开数组 | |
$graphLookup | 图搜索 | |
$facet/$bucket | 分面搜索 |
- 聚合查询可以用于OLAP和OLTP场景,例如
OLTP | OLAP |
计算 |
|
MQL常用步骤与SQL对比
aaa