您必須運行多個$group階段,每個級別一個: db.collection.aggregate([ { $group: { _id: { company: "$company", productType: "$productType", model: "$model" }, count: { $sum: 1 } } }, { $group: { _id: { productType: "$_id.productType", company: "$_id.company" }, models: { $push: { name: "$_id.model", count: "$count" } }, count: { $sum: "$count" } } }, { $group: { _id: "$_id.productType", companies: { $push: { company: "$_id.company", models: "$models", count: "$count" } }, count: { $sum: "$count" } } }, { $set: { name: "$_id", _id: "$$REMOVE" } }, { $group: { _id: null, productType: { $push: "$$ROOT" } } }]) Mongo