【MongoDB】--MongoDB高级功能

一、前言

这里主要记录mongodb一些高级功能使用,如聚合。

二、聚合管道aggregate

聚合操作将来自多个文档的值组合在一起,并且可以对分组数据执行各种操作以返回单个结果,主要用于处理数据(诸如统计平均值,求和等)。
聚合的方法:聚合管道,map-reduce function和单一目的聚合方法。
db.collection.aggregate()是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。

1、示例说明

现有举例:
classDo是班级信息
StudentDo是学生信息
teacherDo是老师信息
一个学生 关联一个班级;一个班级有多个学生;
一个老师挂在多个班级下;一个班级拥有多个老师;

@Data
public class ClassDo extends BaseMongoDo implements Serializable {
   
    
    
    private static final long serialVersionUID = -8809446618654288670L;
    @JSONField(name = "class_no")
    private String classNo;
    @JSONField(name = "class_name")
    private String className;
    @JSONField(name = "class_position")
    private String classPosition;
}
@Data
public class StudentDo extends BaseMongoDo implements Serializable {
   
    
    
    private static final long serialVersionUID = 3551600467011077470L;
    @JSONField(name = "stu_id")
    private String stuId;
    @JSONField(name = "stu_name")
    private String stuName;
    @JSONField(name = "stu_age")
    private String stuAge;
    @JSONField(name = "chinese_score")
    private String chineseScore;
    @JSONField(name = 

猜你喜欢

转载自blog.csdn.net/xunmengyou1990/article/details/131268442