У меня есть набор данных, в который я хочу поместить поиск внутри id
, который находится внутри массива объектов.теперь, когда я добавлю поиск.он заменяет весь документ результатом поиска.Теперь внутри этого объекта у меня есть другой контент, к которому я хочу получить доступ, но он заменяется.Также я не хочу помещать lookup
во все элементы этого массива объектов, только первый.Главное, что я хочу access scale
после того, как поиск сделан
Ниже мой набор данных
"user_id" : ObjectId("5b17b992c440782b5a218cd2"),
"commission" : [
{
"commissson_id" : ObjectId("5bc05984b49e14243f2973ad"),
"scale" : "14"
},
{
"commissson_id" : ObjectId("5bc05992b49e14243f2973ae"),
"scale" : "14"
},
{
"commissson_id" : ObjectId("5bc05984b49e14243f2973ad"),
"scale" : "1"
},
{
"commissson_id" : ObjectId("5bc0596a414d30243f94b0de"),
"scale" : "1"
}
]
Пока я пробовал это
$pipe=[
[
'$match'=>
[
'_id'=> $user_id
],
],
[
'$lookup'=>
[
'from'=>'commission',
'localField'=>'commission.0.commissson_id',
'foreignField'=> '_id',
'as'=> 'commission'
]
],
];