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;
        }
    
    
  • 相关阅读:
    Common ThreadView
    经典代码IOCP的C#实现(转)
    Common.UdpLib
    Common.TcpLibTcpServerWIOCP
    Common.TcpLibTcpServerY
    sql中将分隔字符串转为临时表的方法
    病毒及流氓软件自我复制的简单实现
    一句sql搞定个人所得税计算
    财务月度的创建及生成
    box2d 教程
  • 原文地址:https://www.cnblogs.com/lshan/p/13323324.html
Copyright © 2011-2022 走看看