Sie können dies in MongoDB 3.2 mit etwas Ähnlichem tun, vorausgesetzt, die Sammlung mit den Details ist video.details
und das Feld, in das Sie links eintreten, ist _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"
}
}
}
}
]
Im Grunde führen Sie also Ihre Suche durch, aber später in einer $group-Phase erstellen Sie die Ausgabe so, wie Sie es möchten. Möglicherweise benötigen Sie die erste $unwind-Stufe nicht, wenn Sie MongoDB 3.3.4 oder höher verwenden (vorher war $lookup auf Arrays nicht zulässig).