Anda dapat melakukannya dengan sesuatu seperti ini di MongoDB 3.2 dengan asumsi koleksi yang memiliki detailnya adalah video.details
dan bidang tempat Anda bergabung adalah _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"
}
}
}
}
]
Jadi pada dasarnya Anda melakukan pencarian tetapi kemudian dalam tahap $group buat output seperti yang Anda suka. Anda mungkin tidak memerlukan tahap $unwind pertama jika Anda menggunakan MongoDB 3.3.4 atau lebih tinggi (sebelumnya $lookup pada array tidak diizinkan).