在这次的项目中数据被存储在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:大于等于
浙公网安备 33010602011771号