• MongoDB实现聚合(多表联查)springBoot


    参见:原文链接:https://blog.csdn.net/weixin_44530530/java/article/details/91901631

    依赖:

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-mongodb</artifactId>
     </dependency>
    两表联查
     /**
         * 两表联查
         *
         * @return
         */
        @Override
        public Object findStudentAndGrade() {
            LookupOperation lookupOperation=LookupOperation.newLookup().
                    from("grade").  //关联从表名
                    localField("gradeId").     //主表关联字段
                    foreignField("_id").//从表关联的字段
                    as("GradeAndStu");   //查询结果名
    //带条件查询可以选择添加下面的条件
    //       Criteria criteria=Criteria.where("studenAndgrade").not().size(0);   //只查询有结果的学生
    //        Criteria qqq=Criteria.where("name").regex("文");//只查询名字中带有文的
     //       AggregationOperation match1= Aggregation.match(qqq);
    //        AggregationOperation match = Aggregation.match(criteria);
    //        Aggregation counts = Aggregation.newAggregation(match1,lookupOperation,match).;
           Aggregation aggregation=Aggregation.newAggregation(lookupOperation);
            List<Map> results = mongoTemplate.aggregate(aggregation,"student", Map.class).getMappedResults();
            //上面的student必须是查询的主表名
            System.out.println(JSON.toJSONString(results));
            return results;
        }
    
    
  • 相关阅读:
    华强北三代悦虎1562A怎么样?
    改丝印的假华强北三代1562A,用芯良苦!
    华强北三代过软件检测的佳和1562A
    Unlua静态导出
    Unlua编程基础
    Android JNI调用
    手机屏幕参数
    UE4 stats性能埋点
    【JWT】JSON Web Token
    【算法】一致性哈希算法实现
  • 原文地址:https://www.cnblogs.com/lshan/p/13323324.html
Copyright © 2020-2023  润新知