How can I have array filter count from nested array

Viewed 24

Data:

_id: ObjectId(''),
restaurantId: ObjectId(''),
orderId: ObjectId(''),
reviews: [
  {
    type: "food",
    tags: ["good food", "nice food"]
  },
  {
    type: "pricing",
    tags: ["best price", "good price"]
  }
]

Group by restaurant id Get total reviews by type: Ex: food: 3, pricing: 2, ambience: 1 Group by type and tags and get counts: Ex: food-superb: 1, food-loudt:2, pricing-superb: 2, ambience-superb: 1

Expected result:

{
  _id: restaurantId,
  types: {
    food: 4,
    ....
  },
  tags: {
    nicePrice: 20
  }

}
0 Answers
Related