尝试以下内容:
db.database.aggregate([ { $match: { "_id":ObjectId("5c8a4f4e7c5f002838e61b24") } }, { $facet: { countOfPrintServices: [ { $unwind: "$printServiceCategories" }, { $unwind: "$printServiceCategories.groupTypes" }, { $unwind: "$printServiceCategories.groupTypes.printServices" }, { $group: { _id: "$_id", count:{$sum:1} } } ], countOfGrouptypeInPrintServiceCategories : [ { $unwind: "$printServiceCategories" }, { $unwind: "$printServiceCategories.groupTypes" }, { $group: { _id: "$_id", count:{$sum:1} } } ], countOfPrintServiceCategoriesInProductTemplate: [ { $unwind: "$printServiceCategories" }, { $group: { _id: "$_id", count:{$sum:1} } } ] } } ])
您可能不会通过优化的解决方案获得所需的结果。
{ "countOfPrintServices" : [ { "_id" : ObjectId("5c58401e354bba286ce4db67"), "count" : 5 } ], "countOfGrouptypeInPrintServiceCategories" : [ { "_id" : ObjectId("5c58401e354bba286ce4db67"), "count" : 2 } ], "countOfPrintServiceCategoriesInProductTemplate" : [ { "_id" : ObjectId("5c58401e354bba286ce4db67"), "count" : 2 } ] }