mongoDB中聚合aggregate使用
本文于1714天之前发表,文中内容可能已经过时。
Aggregate是MongoDB提供的众多工具中的比较重要的一个,类似于SQL语句中的GROUP BY。聚合工具可以让开发人员直接使用MongoDB原生的命令操作数据库中的数据,并且按照要求进行聚合。
Aggregation管道
管道聚合会将上一个命令输出的数据作为下一个命令的参
因此相同条件,不同顺序排列,结果也会不同
MongoDB中的管道聚合非常实用,提供高效的数据聚合,并且是MongoDB中数据聚合的首选方法
示例图:
常用操作
$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
示例:
1 | db.xxx.aggregate( |
$match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作。
示例:
1 | db.xxx.aggregate( |
$limit:用来限制MongoDB聚合管道返回的文档数。
示例:
1 | db.xxx.aggregate( |
$skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
示例:
1 | db.xxx.aggregate( |
$unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
该方法主要使用场景,统计数组类型字段中每一个类型数量,如:标签数据、演员数据
示例:
1 | db.xxx.aggregate( |
$group:将集合中的文档分组,可用于统计结果。
统计某个字段数量:
1 | db.xxx.aggregate( |
$sort:将输入文档排序后输出。
对统计结果排序 和普通排序命令相同
示例:
1 | db.xxx.aggregate( |
赏
微信打赏
你的赞赏是对我最大的鼓励