我正在尝试计算每个 UserID 的特定键值对的数量,然后通过特定条件(例如国家为“美国”)多次 $bucket 这些结果
我已经尝试过在 "country" : "US", "OS" : "iOS" 上使用 $match 进行分桶,但是在尝试此操作时我只会得到空白结果,如果我删除 $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
}
这是我在此阶段之前为每个文档获得的输出示例。我如何将“count”放在“_id”中,以便 $facet 中的 $match 函数正确分离桶?
{
"_id" : {
"UserID" : "106577122",
"country" : "MX",
"OS" : "iOS"
},
"count" : 1289.0
}