聚合是云开发 CloudBase 数据库中非常重要的一种数据批处理操作方式。聚合操作可以将数据分组(或者不分组,即只有一组/每个记录都是一组),然后对每组数据执行多种批处理操作,最后返回结果。
有了聚合能力,可以方便的解决很多没有聚合能力时无法实现或只能低效实现的场景,包括分组查询、只取某些字段的统计值或变换值返回、流水线式分阶段批处理、获取唯一值(去重)等。
本文就以一个简单的实例解释如何在云数据库中,实现十分常用的联表+聚合查询操作。
场景说明
假设数据库内存在两个集合:class 与 student,存在以下数据:
class(班级信息):

student(学生信息):

现在需要查询徐老师所带的班级里面所有学生的平均成绩。
代码示例
1、lookup 联表查询
首先我们需要把 student 内的所有数据,按照 class_id 进行分组,这里我们使用云数据库的 lookup 操作符:
lookup({
from: "student", //要关联的表student
localField: "id", //class表中的关联字段
foreignField: "class_id", //student表中关联字段
as: "stu" //定义输出数组的别名
}).end();
</
云数据库联表聚合查询实战

本文通过实例演示如何在云数据库中使用lookup、match、pipeline等操作实现联表+聚合查询,查询徐老师班级学生的平均成绩。云开发提供了一体化的开发环境,简化了服务器管理和运维工作,使开发者能更专注业务逻辑。
最低0.47元/天 解锁文章
278

被折叠的 条评论
为什么被折叠?



