按内部数组中的对象分组(mongodb聚合)

按内部数组中的对象分组(mongodb聚合),mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我有如下文件: { "products": [ { "uid": "aside-11kka-asdm12-asdjl" "price": 123, "count": 123 } ] } 我想使用聚合将其分组到产品数组中(产品UID可以在另一个对象中重复)您需要首先对嵌套数组进行分组 db.collection.aggregate([ { "$unwind": "$pro

我有如下文件:

{
    "products": [
        {
           "uid": "aside-11kka-asdm12-asdjl"
           "price": 123,
           "count": 123
        }
    ]
}
我想使用聚合将其分组到产品数组中(产品UID可以在另一个对象中重复)

您需要首先对嵌套数组进行分组

db.collection.aggregate([
  {
    "$unwind": "$products"
  },
  {
    $group: {
      "_id": "$products.uid",
      "count": {
        $push: "$products.count"
      },
      "price": {
        $push: "$products.price"
      }
    }
  }
])