Python MongoDB 聚合管道操作符及使用

发布时间 2023-12-23 21:36:17作者: leviliang

1、$match

筛选文档,类似于 SQL 的 WHERE 子句。可以使用 $match 来选择满足特定条件的文档。

使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

2、$group

分组和汇总数据,类似于 SQL 的 GROUP BY 子句。你可以使用 $group 来对文档进行分组,并进行聚合操作,如计算总和、平均值、计数等。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

3、$project

投影操作,类似于 SQL 的 SELECT 子句。可以使用 $project 来选择要返回的字段,并可以进行计算、重命名字段等操作。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

注意:$multiply 操作符用于在 MongoDB 聚合管道中执行乘法操作。它可以将一个或多个字段的值相乘,或将字段的值与常数相乘,并将结果作为新的字段添加到聚合文档中。

4、$sort

排序文档,类似于 SQL 的 ORDER BY 子句。可以使用 $sort 来指定文档的排序方式,升序或降序。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

5、$limit 和 $skip

限制结果集的大小,类似于 SQL 的 LIMIT 和 OFFSET 子句。$limit 用于限制返回的文档数量,而 $skip 用于跳过一定数量的文档。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

6、$unwind

展开数组字段,将数组字段的每个元素拆分成单独的文档。这对于处理包含数组的文档非常有用。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

7、$lookup

执行左外连接操作,将两个集合中的文档关联在一起。这允许在一个文档中访问另一个集合的数据。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

8、$addFields 和 $set

添加新字段或修改现有字段的值。可以使用 $addFields 来添加新的计算字段,而 $set 用于更新现有字段的值。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

9、$out

将聚合操作的结果写入到新的集合中,可以用于创建新的集合以保存聚合后的数据。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

10、$redact

根据安全策略控制文档的访问,用于处理敏感数据。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

11、$bucket

将文档按照指定的条件分组到不同的桶中,类似于 SQL 中的分桶操作。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy

12、$facet

用于执行多个聚合操作,并返回每个操作的结果。它允许在单个聚合查询中执行多个不相关的子聚合,然后将它们的结果组合在一起。

 使用示例:Python MongoDB 聚合管道操作符及使用-CJavaPy