Python MongoDB 聚合管道操作符及使用
1、$match
筛选文档,类似于 SQL 的 WHERE 子句。可以使用 $match 来选择满足特定条件的文档。
使用示例:
2、$group
分组和汇总数据,类似于 SQL 的 GROUP BY 子句。你可以使用 $group 来对文档进行分组,并进行聚合操作,如计算总和、平均值、计数等。
使用示例:
3、$project
投影操作,类似于 SQL 的 SELECT 子句。可以使用 $project 来选择要返回的字段,并可以进行计算、重命名字段等操作。
使用示例:
注意:$multiply
操作符用于在 MongoDB 聚合管道中执行乘法操作。它可以将一个或多个字段的值相乘,或将字段的值与常数相乘,并将结果作为新的字段添加到聚合文档中。
4、$sort
排序文档,类似于 SQL 的 ORDER BY 子句。可以使用 $sort 来指定文档的排序方式,升序或降序。
使用示例:
5、$limit 和 $skip
限制结果集的大小,类似于 SQL 的 LIMIT 和 OFFSET 子句。$limit 用于限制返回的文档数量,而 $skip 用于跳过一定数量的文档。
使用示例:
6、$unwind
展开数组字段,将数组字段的每个元素拆分成单独的文档。这对于处理包含数组的文档非常有用。
使用示例:
7、$lookup
执行左外连接操作,将两个集合中的文档关联在一起。这允许在一个文档中访问另一个集合的数据。
使用示例:
8、$addFields 和 $set
添加新字段或修改现有字段的值。可以使用 $addFields 来添加新的计算字段,而 $set 用于更新现有字段的值。
使用示例:
9、$out
将聚合操作的结果写入到新的集合中,可以用于创建新的集合以保存聚合后的数据。
使用示例:
10、$redact
根据安全策略控制文档的访问,用于处理敏感数据。
使用示例:
11、$bucket
将文档按照指定的条件分组到不同的桶中,类似于 SQL 中的分桶操作。
使用示例:
12、$facet
用于执行多个聚合操作,并返回每个操作的结果。它允许在单个聚合查询中执行多个不相关的子聚合,然后将它们的结果组合在一起。
使用示例: