Du kan göra det med något liknande i MongoDB 3.2 förutsatt att samlingen som har detaljerna är video.details
och fältet du går med till vänster är _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"
}
}
}
}
]
Så i grund och botten gör du din uppslagning men senare i ett $-gruppssteg bygger du resultatet som du vill ha det. du kanske inte behöver det första $unwind-steget om du använder MongoDB 3.3.4 eller senare (före det var $lookup på arrayer inte tillåtna).