在这次的项目中数据被存储在MongoDB中,对这个数据库并不熟悉,之前只会一些简单的增删改查,趁这次刚好学习了一个新的东西:aggregate,聚合函数。

  以下是一些有关聚合函数中用到的一些管道及表达式,具体的使用会另外写。


    常用的管道:
        $group:将集合中的文档按照字段进行分组
        $match:过滤数据,输出符合条件的文档
        $project:修改文档的结构,重命名、增加、删除字段,创建结果,类似投影,指定字段显示结果
        $sort:排序
        $limit:限制返回文档条数
        $skip:跳过指定数量的文档
        $unwind:对列表类型字段内容拆分
        $out:将聚合的结果放到一个新的集合中,如果输出集合不存在,则创建一个新集合。如果输出集合存在,则替换原本集合。
        $merge:将聚合的结果放到一个新的集合中,如果输出集合不存在,则创建一个新集合。如果输出集合存在,则与原本集合合并。
        $lookup:多表联查
            from:"temp_avg",//被关联的表名
            localField:"pollutant_code",//源表关联字段
            foreignField:"_id",//目标表关联字段
            as:"value"//目标表存放命名
   
    常用表达式: $表达式:"$字段"
        $sum:计算总数量,$sum:1 代表按照1倍进行统计总数量
        $avg:计算平均值
        $min:获取最小值
        $max:获取最大值
        $push:结果文档插入到一个数组给配合分组使用
        $first:获取排序后第一个文档数据
        $last:获取排序后最后一个文档数据
        $abs:计算绝对值
        $let:小于等于
        $get:大于等于