Aggregation-聚合查询

本文详细介绍了MongoDB中的聚合查询操作,通过示例展示了如何使用$match、$group、$sort和$limit等操作符实现SQL中的聚合功能,如筛选、分组、求和与排序。同时,还演示了如何根据字段长度进行排序,帮助读者掌握MongoDB的数据处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Aggregation-聚合查询和mysql sql语句对应

Aggregation:

参数说明:sql(Operators)

     where ($match) 、group by ($group) 、having($match)、select($project)、order by($sort)、limit($limit)

     sum($sum)、count($sum)、join($lookup)

SELECT cust_id, SUM(price) as total
FROM orders
WHERE status = 'A'
GROUP BY cust_id
HAVING total > 250

db.orders.aggregate([
    {$match: {status: 'A'}},
    {$group: {_id: "$cust_id",total: { $sum: "$price"}}},
    {$match: {total: { $gt: 250}}}
])

二、更加字段长度排序

db.collection.aggregate(
    [
        {$project: {
            "field": 1,
            "field_length": { $strLenCP: "$field" }
        }},
        {$sort: {"field_length": -1}},
        {$project: {"field_length": 0}},
    ]
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值