• mongodb的查询操作


    1、条件匹配:MatchOperation

    MatchOperation matchOperation = Aggregation.match(new Criteria().where("area_code").is(areaCode));

    2、分组计数:GroupOperation + count

    GroupOperation groupSource_typeOperation = Aggregation.group("source_type", "satisfied_degree")
        .count().as("count").first("source_type").as("source_type");

    3、分组求和GroupOperation + sum

    GroupOperation groupDeptOperation = groupDeptOperation = Aggregation.group("dept_name")
        .sum("evaluate_quantity").as("evaluate_quantity").first("dept_name").as("dept_name");

    4、排序:SortOperation

    SortOperation sortOperation = Aggregation.sort(new Sort(Direction.DESC,"evaluate_quantity"));

    5、跳过:SkipOperation

    SkipOperation skipOperation = Aggregation.skip(10);

    6、限制查多少个:LimitOperation

    LimitOperation limitOperation = Aggregation.limit(10);

    7、执行查询

    注意,Operation的顺序一定要写对,不然查出来有差异,是按照add进list的顺序执行,直接写在入参中也是一样

    List<AggregationOperation> operations = new ArrayList<>();
    operations.add(matchDeptOperation);
    operations.add(groupDeptOperation);
    operations.add(skipOperation );
    operations.add(limitOperation);
    AggregationResults<Map> aggregate = mongoTemplate.aggregate(Aggregation.newAggregation(operations), EvaluateConstant.EVALUATE_COLLECTION, Map.class);
    

      

  • 相关阅读:
    GIT DIFF生成.PATCH文件
    C++中static关键字作用总结
    模版与泛型编程
    模版以及全特化,偏特化
    重载运算与类型转换
    GDB调试工具(待整理)
    面向对象(primer)
    7种获取高度的区别
    把页面主体内容限定在安全区内
    ios浏览器下载,apple-itunes-app
  • 原文地址:https://www.cnblogs.com/lansetuerqi/p/13933693.html
Copyright © 2020-2023  润新知