zoukankan      html  css  js  c++  java
  • 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;
        }
    
    
  • 相关阅读:
    个人管理:2,3月微薄整理
    ORM相关图片整理
    LmgORM项目 实体类转换器
    (转)Enterprise Architect 7.0入门教程
    禁止右键复制的代码
    UML示例图(转)学习
    Flash FMS Helloword
    模拟生成Guid
    Flash Media Server安装
    WebSphere创建删除概要文件
  • 原文地址:https://www.cnblogs.com/lshan/p/13323324.html
Copyright © 2011-2022 走看看