MongoDB 是一个基于文档的 NoSQL 数据库,它支持丰富的聚合操作来处理和分析数据。聚合操作是通过聚合管道(aggregation pipeline)来实现的,管道中的一系列阶段(stages)会对数据进行各种处理和转换。
以下是一些常用的 MongoDB 聚合操作:
$match
:过滤数据,只输出符合条件的文档。类似于 SQL 中的 WHERE 子句。
$project
:选择需要的字段,排除不需要的字段。类似于 SQL 中的 SELECT 子句。
$group
:根据指定的字段对文档进行分组,并对每个分组执行聚合操作。类似于 SQL 中的 GROUP BY 子句。
$sort
:对文档进行排序。类似于 SQL 中的 ORDER BY 子句。
$limit
:限制输出文档的数量。类似于 SQL 中的 LIMIT 子句。
$skip
:跳过指定数量的文档。类似于 SQL 中的 OFFSET 子句。
$unwind
:将数组字段拆分成多个文档。类似于 SQL 中的 UNNEST 操作。
$lookup
:将另一个集合的文档与当前文档进行连接。类似于 SQL 中的 JOIN 操作。
$addFields
/$set
:向文档中添加新的字段或更新现有字段的值。类似于 SQL 中的 SET 子句。
$project
:更新文档的字段选择,可以用于重命名、删除或计算字段。
这些聚合操作可以组合使用,以实现更复杂的数据处理和分析。在实际应用中,可以根据需求选择合适的聚合操作来满足特定的数据处理需求。