mongo aggregate统计排行榜及spring mongo实现

数据分析里排行也是很常见的一项统计,下面是随便弄的测试数据的租赁次数排行统计:

脚本:

db.leaseorders.aggregate([
    { $match: { tenantId: "5" } },
    {
        $project: {
            goodsName: 1, quantity: 1
        }
    },
    { $group: { _id: "$goodsName", qty: { $sum: "$quantity" } } },
    { $sort: { "qty": -1 } },
    { $project: { 商品名: { $toUpper: "$_id" }, _id: 0, qty: 1 } }
])

实现:(数据是随便弄的测试数据)

spring mongo实现:

但是到这里有个问题出现了,如果我还想要每条数据都展示排行的序号,也就是销售最多的排第一等以此类推,我发现我不知道用这个管道怎么实现,最后只能在用代码在内存中处理了,如果有知道怎么弄的朋友,还望指教,在此先谢过啦,下面是用代码处理了一下:

前台展示(测试数据):

前端不是很擅长,有点丑,哈哈,最后说一句,有会在管道中直接加排行序号的朋友,望指教,多谢啦。

 

更多聚合管道内容点击:https://gitbook.cn/gitchat/activity/5c1b74ac52d99437c2b822e9

点此欢迎光临我的个人网站【一几文星球】

微信公众号,欢迎关注,一起学习。

MongoTemplate 统计MongoDB 数据库在 Spring Framework 中引入的一种灵活的查询方法。MongoTemplate 是一个 Spring Data MongoDB 模块中的核心类,它提供了简单、方便的 API 和对 MongoDB 的原生支持。 MongoTemplate 统计操作可以通过调用 count、distinct、group、mapReduce、aggregate 以及 GeoSpatial 统计方法来实现。其中,count 方法是 MongoDB 官方 API 提供的基础方法,可以统计指定集合下符合条件的文档数量。 distinct 方法则用于返回指定字段的唯一值,可以在聚合查询、多条件查询或者排序查询时使用,提高数据查询效率。 group 方法则将结果分组并返回聚合数据,可以按照需要指定 group、match、project 和 sort 等参数,实现复杂的聚合操作。 mapReduce 方法则将数据集映射和规约,用于处理大量数据并输出结果。 aggregate 方法是 MongoDB 官方推出的聚合计算框架,可以根据需要进行聚合操作,实现复杂的聚合计算,包括 $match(筛选)、$group(分组)、$project(投影)、$sort(排序)以及 $limit 等操作。 GeoSpatial 统计方法则用于处理几何空间数据,包括点、线、面和多面体等数据,可以实现附近的地点搜索、地点聚合和地点可视化等操作。 通过调用不同的方法实现不同的统计操作,MongoTemplate 实现MongoDB 数据库的灵活、高效和可视化的查询和统计功能,为开发人员提供了强大的数据分析能力和丰富的业务应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值