①$match
用于对文档集合进行筛选,里面可以使用所有常规的查询操作符。
通常会放置在管道最前面的位置,理由如下:
1:快速将不需要的文档过滤,减少后续操作的数据量
2:在投影和分组之前做筛选,查询可以使用索引
注意:
A:在 $match 中不能使用 $where 表达式操作符
B:如果 $match 位于管道的第一个阶段,可以利用索引来提高查询效率
C:$match 中使用 $text 操作符的话,只能位于管道的第一阶段
D:$match 尽量出现在管道的最前面,过滤出需要的数据,在后续的阶段中可以提高效率。
②范例:查询工资在2000 ~5000的雇员
③范例:控制投影操作
④范例:继续分组
⑤
⑥
⑦
⑧
⑨
⑩
⑪
⑫
⑬
⑭
⑮
⑯
⑰
⑱
⑲
⑳