前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java mongodb 聚合操作group的使用方式

java mongodb 聚合操作group的使用方式

作者头像
用户7886150
修改2021-02-01 10:34:12
2.4K0
修改2021-02-01 10:34:12
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Java中的聚合

Java Code Examples for org.springframework.data.mongodb.core.aggregation.Aggregation 

@Override

public List<ApplicationDTO> getAppInfoByAppNames(List<String> names) {

    Aggregation aggregation = newAggregation(

        match(Criteria.where("appname").in(names).and("timestamp").exists(true)),

        sort(new Sort(DESC, "timestamp")),

        project("appname", "platform", "starrating",

                    "timestamp", "comment", "authorName","url"),

        group("appname", "platform")

            .push(new BasicDBObject("author", "$authorName")

                .append("rate", "$starrating" )

                .append("timestamp", "$timestamp")

                .append("comment", "$comment")

                .append("url", "$url")

            ).as("reviews"),

        project("appname", "platform")

            .and("reviews").slice(8, 0)

    );

    //Convert the aggregation result into a List

    AggregationResults<ApplicationDTO> groupResults

            = mongoTemplate.aggregate(aggregation, Review.class, ApplicationDTO.class);

    return groupResults.getMappedResults();

在mongodb聚合操作的时候我们一般是通过一个字段或者多个字段作为聚合条件来完成的, 

如上面的例子就是首先match作为想要聚合的范围,sort排序,group就是聚合的条件(上面的例子的统计条件是appname和platform)。 

此外也可以使用push、first等来将合并的数据的其它字段显示出来,跟mongodb自带的聚合方式区别不大。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档