Vous pouvez le faire avec quelque chose comme ça dans MongoDB 3.2 en supposant que la collection contenant les détails est video.details
et le champ que vous rejoignez à gauche est _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"
}
}
}
}
]
Donc, en gros, vous effectuez votre recherche, mais plus tard, dans une étape de groupe $, créez la sortie comme vous l'aimez. vous n'aurez peut-être pas besoin de la première étape $unwind si vous utilisez MongoDB 3.3.4 ou supérieur (avant cela, $lookup sur les tableaux n'était pas autorisé).