Mongodb mongo聚合中的$push和$group
我写了这个查询,但它并不完全是我想要如何使用push操作符来获得预期的结果- 无法将push与addFields和项目管道一起使用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
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 }}
])