gpt4 book ai didi

Mongodb分组和排序

转载 作者:IT老高 更新时间:2023-10-28 13:04:01 27 4
gpt4 key购买 nike

如何为 Mongo 翻译以下 Sql 查询?:

select a,b,sum(c) csum from coll where active=1 group by a,b order by a

有没有办法用 Mongo 执行分组和排序查询?

最佳答案

受此启发 example在 mongo 的网站上。

生成虚拟数据:

> db.stack.insert({a:1,b:1,c:1,active:1})
> db.stack.insert({a:1,b:1,c:2,active:0})
> db.stack.insert({a:1,b:2,c:3,active:1})
> db.stack.insert({a:1,b:2,c:2,active:0})
> db.stack.insert({a:2,b:1,c:3,active:1})
> db.stack.insert({a:2,b:1,c:10,active:1})
> db.stack.insert({a:2,b:2,c:10,active:0})
> db.stack.insert({a:2,b:2,c:5,active:1})

蒙哥查询:

> db.stack.aggregate(
... {$match:{active:1}},
... {$group:{_id:{a:"$a", b:"$b"}, csum:{$sum:"$c"}}},
... {$sort:{"_id.a":1}})

结果:

{"result" : [
{"_id" : {"a" : 1,"b" : 2},"csum" : 3},
{"_id" : {"a" : 1,"b" : 1},"csum" : 1},
{"_id" : {"a" : 2,"b" : 2},"csum" : 5},
{"_id" : {"a" : 2,"b" : 1},"csum" : 13}
],"ok" : 1}

(注意:我重新格式化了 shell 结果,使其更具可读性)

关于Mongodb分组和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6547441/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com