mongodb中的一些聚合操作
MongoDB中聚合的方法使用aggregate()
聚合管道常用操作符:
- $project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
- match:用于过滤数据,只输出符合条件的文档,match使用MongoDB的标准查询操作。
- addFields:addFields操作符用于在聚合管道中向文档中添加新的字段,或者修改现有字段的值。
- $group:将集合中的文档分组,可用于统计结果。
- $lookup:操作符用于在聚合管道中执行左外连接操作,将一个集合中的文档与另一个集合中的文档进行关联。它通常用于在一个集合中查找与另一个集合中的文档相关联的信息。
- $limit:用来限制MongoDB聚合管道返回的文档数。
- $skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
- $unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
- $sort:将输入文档排序后输出。
- $expr: 用于在聚合管道中执行复杂的逻辑操作。它允许在聚合操作中使用聚合表达式来进行条件判断、比较操作等。
- $size:用于在查询操作中获取数组字段的长度。它返回数组字段中元素的数量。
- $sum:计算总和。
- $avg:计算平均值。
- $min:获取集合中所有文档对应值得最小值。
- $max:获取集合中所有文档对应值得最大值。
- $push:将值加入一个数组中,不会判断是否有重复的值。
- $addToSet:将值加入一个数组中,会判断是否有重复的值,若相同的,组中已经存在了,则不加入。
- $first:根据资源文档的排序获取第一个文档数据。
- $last:根据资源文档的排序获取最后一个文档数据
- $eq: 用于在查询和聚合操作中判断两个值是否相等。
- $gt:用于在查询和聚合操作中判断一个值是否大于另一个值。