Можете да го направите с нещо подобно в 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 етап изграждате изхода по начина, по който ви харесва. може да не се нуждаете от първия етап на $unwind, ако използвате MongoDB 3.3.4 или по-нова версия (преди това $lookup на масиви не беше разрешено).