ita*_*ayw 4 mongodb aggregation-framework
我已经回顾了几个与上述主题相关的答案和示例(包括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的几种类型,遗憾的是,没有工作,添加它们没有多大价值.请注意,我是基于聚合框架而不是map-reduce的解决方案.
非常感谢.
尝试:
db.YOUR_COLLECTION.aggregate([
    {
        $group: {
            _id: {
                Country: "$Country",
                Language: "$Language"
            },
            PlayerCount: {$sum: 1}
        }
    }
]);
国家和语言将在"_id"字段内.
| 归档时间: | 
 | 
| 查看次数: | 6285 次 | 
| 最近记录: |