Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb mongo聚合中的$push和$group_Mongodb_Mongodb Query_Aggregation Framework - Fatal编程技术网

Mongodb mongo聚合中的$push和$group

Mongodb mongo聚合中的$push和$group,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我写了这个查询,但它并不完全是我想要如何使用push操作符来获得预期的结果- 无法将push与addFields和项目管道一起使用 db.getCollection("event").aggregate([ {$match:{"name":"Add to Cart"}}, {$group:{"_id":"browser",count:{$sum:1}}}]); 输出: {_id:chrome.count:3} {_id:firefox,count:1} {_id:edg

我写了这个查询,但它并不完全是我想要如何使用push操作符来获得预期的结果- 无法将push与addFields和项目管道一起使用

db.getCollection("event").aggregate([ {$match:{"name":"Add            
to Cart"}}, {$group:{"_id":"browser",count:{$sum:1}}}]);
输出:

{_id:chrome.count:3}
{_id:firefox,count:1}
{_id:edge,count:1}
预期产出:

{
browser:[
{name:"chrome",count:3},
{name:"firefox",count:1}, 
{name:"egde",count:1}
]
}
我的收藏:

{
_id:1,
 name:"Add to Cart"
"browser":"chrome"
}
{
_id:2,
name:"Searched",
"browser":"chrome"
}
{
_id:3,
name:"Add To Cart",
"browser":"edge"
}
{
_id:4,
name:"Item View",
"browser":"chrome"
}
{
_id:5,
name:"Add To Cart",
"browser":"Firefox"
}
你需要在这里多用一个舞台

db.collection.aggregate([
  { "$group": {
    "_id": "$browser",
    "count": { "$sum": 1 }
  }},
  { "$group": {
    "_id": null,
    "browser": {
      "$push": {
        "name": "$_id",
        "count": "$count"
      }
    }
  }},
  { "$project": { "_id": 0 }}
])