इस मामले में एकत्रीकरण ढांचे में $अनविंड और $प्रोजेक्ट के साथ एक अच्छा खेल आवश्यक है
कृपया नीचे देखें:
db.alumni.aggregate([
{$match: {_id: 'john'}},
{$unwind:"$items"},
{$unwind:"$items.items"},
{$lookup: {
from: 'schools',
localField: 'items.items.school',
foreignField: '_id',
as: 'schoolInfo'}},
{$unwind:"$schoolInfo"},
{$project:{
"_id":1,
"items":[{
"name":"$items.name",
"items":[{
"school":"$schoolInfo._id" ,
"grad":"$items.items.grad" ,
"schoolInfo":"$schoolInfo"
}]
}]
}}
]).pretty()
यह देखने के लिए कि यह कैसे काम करता है - क्वेरी से एकत्रीकरण चरणों को हटाने का प्रयास करें और दस्तावेज़ संरचना की जाँच करें।