आपको पहले $unwind
की आवश्यकता है questions
सरणी और फिर $lookup
apply लागू करने की आवश्यकता है और अंत में $group
. का उपयोग करें सरणी में फिर से रोलबैक करने के लिए।
db.games.aggregate([
{ "$unwind": "$questions" },
{ "$lookup": {
"from": "questions",
"localField": "questions.question_id",
"foreignField": "_id",
"as": "question_data"
}},
{ "$unwind": "$question_data" },
{ "$addFields": {
"question_data.position": "$questions.position",
"question_data.question_id": "$questions.question_id"
}},
{ "$group": {
"_id": "$_id",
"questions": { "$push": "$questions" },
"question_data": { "$push": "$question_data" }
}}
])