0

我正在尝试计算每个 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
}
4

0 回答 0