我正在尝试计算每个UserID的特定键值对的数量,然后根据特定条件(例如国家/地区为“美国”)将这些结果多次$ bucket
我已经尝试通过在$ match上使用存储桶 “ country”:“ US”,“ OS”:“ iOS” 但尝试此操作时,我只会得到空白结果,如果删除$ match阶段,则存储桶适用于每个文档。
{
iOSUS: [
{
"$match" : {
"_id": {
"country": "$US"
}
}
},{ $bucket : {
groupBy: "$DownloadCount",
boundaries: [ 0, 1, 10, 20, 30, 40, 50, 100, 150, 200, 300, 400, 500],
default: "500+",
output: { count: { $sum: 1 } }
}}
],
// facetName2: [ /* add stages */ ],
// add more facets
}
这是我在此阶段之前为每个文档获得的输出的示例。我该如何将“计数”放在“ _id”中,然后在$ facet中使用$ match函数正确地将各个存储桶分开?
{
"_id" : {
"UserID" : "106577122",
"country" : "MX",
"OS" : "iOS"
},
"count" : 1289.0
}