gpt4 book ai didi

Mongodb 按键分组

转载 作者:行者123 更新时间:2023-12-05 08:59:13 25 4
gpt4 key购买 nike

作为查找的结果,我有以下记录集:

[{ 'programming': 7 },
{ 'programming': 9 },
{ 'programming': 6 },
{ 'programming': 10 },
{ 'music': 1 },
{ 'music': 2 },
{ 'music': 3 },
{ 'music': 4 }]

我想按键对它们进行分组并对值求和,得到:

[{'programming': 32},
{'music': 10}]

按值排序(在本例中,先是编程,然后是音乐)并以 3 为限(如果有 programming 32, music 10, shopping 3lifestyle 1,只返回programmingshoppinglifestyle

如何聚合这些数据?我应该使用 mapreduce、聚合还是简单地分组?如果是这样,如何告诉组按字典键进行分组?

谢谢

最佳答案

希望这会有所帮助。

测试于:v3.6.5

db.cname.aggregate([
{
$project:
{
_id: 0
}
},
{
$project:
{
"o":
{
$objectToArray: "$$ROOT"
}
}
},
{
$unwind: "$o"
},
{
$group:
{
_id: "$o.k",
value:
{
$sum: "$o.v"
}
}
}])

输出

{ "_id" : "music", "value" : 10 }

{ "_id" : "programming", "value" : 32 }

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

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