У меня есть код ниже.
Users.aggregate([{
$lookup: {
from: "payments",
// localField:"_id",
// foreignField:"restaurant_id",
let: {
id: "$_id"
},
pipeline: [
{
$match: {
status: "Active", // If I add only this line it returns the result ->
restaurant_id:"$id" //or "$_id" ->but after adding this line it return empty array
//if I change $id to static value of id result comes
},
}
],
as: "subscription"
}
}])
Я не могу использовать имя поля в $match
. Если я пишу статический идентификатор, он работает нормально, но мне нужно использовать динамический _id
. Подскажите, пожалуйста, как я могу использовать имя поля в $match
. Я использовал много вещей, как $and
$expr
, но ничего не получалось.
обе коллекции находятся в одном БД
Версия сервера MongoDB: 3.6.9
"Мангуст": "^ 5.3.4"