आप इसे MongoDB 3.2 में कुछ इस तरह से कर सकते हैं, यह मानते हुए कि संग्रह में विवरण है video.details
और जिस फ़ील्ड में आप शामिल हो रहे हैं वह _id
. है :
[
{
$unwind:"$videos"
},
{
$lookup:{
from:"video.details",
localField:"videos.videoId",
foreignField:"_id",
as:"details"
}
},
{
$group:{
_id:"$_id",
name:{
$first:"$name"
},
videos:{
$push:{
videoId:"$videos.videoId",
videoDetails:"$details"
}
}
}
}
]
तो मूल रूप से आप अपना लुकअप करते हैं लेकिन बाद में $group चरण में आउटपुट को जिस तरह से आप पसंद करते हैं उसका निर्माण करते हैं। यदि आप MongoDB 3.3.4 या इसके बाद के संस्करण का उपयोग कर रहे हैं तो आपको पहले $अनविंड चरण की आवश्यकता नहीं हो सकती है (उस से पहले सरणियों पर $ लुकअप की अनुमति नहीं थी)।