db.feedbacks.aggregate([
{$match : {
"collection": "tests",
"docId": {$in : [ObjectId("56c6dc8a995a2d6dc85f45eb") , ObjectId("5abcaf934e04790c26cad289"), ObjectId("56c6de2b995a2d6dc85f4828")]}
}
},
{$unwind : "$mo"},
{
$lookup : {
from : "feedback_options",
localField: "mo",
foreignField: "_id",
as : "option_details"
}
},
{$project : {
"mo": 1,
"option_details": {$arrayElemAt: ["$option_details", 0]},
"rating": 1
}
},
{$match : {"rating": {$in : [1, 2, 3, 4,5]}}},
{$group :
{
_id: "$mo",
count : {$sum : 1},
optionText : {$first : "$option_details.text"},
ratings : {$addToSet : "$rating"}
}
}
])
Comments