Я пытаюсь запросить некоторые данные, используя агрегацию, но что-то не работает ...
Я искал несколько примеров, и это то, что у меня есть ...
(Из моего веб-приложения я просто получаю searchTerm)
productosModel.aggregate([
//IN THE FIRST STAGE I FILTER BY REF OR NAME ( searchTerm )
{
$match: {
$or: [
{ ref: { '$regex': req.body.ref, '$options': 'i' } },
{ nombre: { '$regex': req.body.nombre, '$options': 'i' } }
]
}
},
{
$lookup: {
from: "configtarifas",
let: { "producto": "$_id" }, //HERE IS WHERE I PRETEND TO DEFINE THE _ID FILTERED
pipeline: [
{
$match: {
$expr: { $eq: ['$idProducto', "$$producto" ] },
}
}
],
as: "configs",
}
}
])
Затем мне нужно использовать $ lookup, чтобы присоединиться к этой коллекции и добавить configTarifas к данным, но я хотел бы получить только документы что соответствует _id продукта, отфильтрованного ранее ...
что я делаю не так? коллекция config не соответствует ни одному $$ producto ... похоже, что $$ producto не получает значение _id