gpt4 book ai didi

mongodb - mongo 聚合框架,具有不同的键计数和多个分组依据

转载 作者:可可西里 更新时间:2023-11-01 09:08:59 25 4
gpt4 key购买 nike

我已经查看了与上述主题(包括 SO)相关的几个答案和示例,但找不到可用于回答我的要求的工作示例:

我有一组文档,其中包含多个维度(描述性属性)和指标。我想计算某个键值在一组其他键中出现的次数(唯一)。即有多少玩家来自一个国家并使用某种语言。

文档结构:

{
"date": "2013-06-13T00:00:00.000Z"
"Operating System": "Windows 7",
"Browser": "Chrome",
"Device": "Desktop/Laptop",
"Country": "Afghanistan",
"Language": "English",
"Player": "91823781188577408" //This is a string value, the player id
},
...

请求结果:

{
"Country": "Afghanistan",
"Language": "English",
"PlayerCount": 120
}

在 SQL 中,这应该是这样的:

SELECT Country, Language, COUNT(DISTINCT PlayerCount) FROM Table 
GROUP BY Country, Language

我最近的聚合尝试涉及多种类型的 $project、$group 和 $unwind,不幸的是,没有一个起作用,添加它们也没有太大值(value)。请注意,我寻求的是基于聚合框架而非 map-reduce 的解决方案。

非常感谢。

最佳答案

尝试:

db.YOUR_COLLECTION.aggregate([
{
$group: {
_id: {
Country: "$Country",
Language: "$Language"
},

PlayerCount: {$sum: 1}
}
}
]);

国家和语言将在“_id”字段内。

关于mongodb - mongo 聚合框架,具有不同的键计数和多个分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17564675/

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