• 117680

    文章

  • 803

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

Mongodb聚合查询:通过文章的阅读量,评论量,点赞量等计算出一个热度值用于排序

撸了今年阿里、腾讯和美团的面试,我有一个重要发现.......>>

spring data es实现方式:

TypedAggregation<Album> agg = Aggregation.newAggregation(
        Album.class,
        Aggregation.project("id","albumName","coverImgId").and("countRead").plus("countComment").plus("countLike").as("polular"),
        Aggregation.sort(Sort.Direction.DESC,"popular"),
        Aggregation.skip (page),
        Aggregation.limit(pageSize));
AggregationResults<PoplularAlbumDto> results=mongoTemplate.aggregate(agg, PoplularAlbumDto.class);

解析:.project()里可指定要查询的字段,还可以使用一些字段的加减乘除运算出一个新的字段,上面的是“countRead”,"countComment","countLIke"这几个字段的和作为一个新的字段“polular”,并按popular降序排序,skip代表页码,limit代表分页大小;


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

1条评论

Loading...


自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客