@JoinJsMongo

Агрегация в монгоДб mongoDb Как сделать условие в lookup?

Такой вопрос: Есть коллекция: _id: 1234657 text: 'ok, fine' status: objectId(123) magazine: objectId(1234) logs_id: objectId(123)

Надо найти по id magazine все тексты, в logs_id есть еще city: objectId(123), по этомим городам надо выводить все тексты

То есть, есть магазин, у которого выводятся логи с разных городов, и нужно сделать фильтр по городам я сделал так

const {magazineId} = req.params
reviews = await Collection.aggregate()
.match({
magazine_id: mongoose.Types.ObjectId(magazineId),
})
.lookup({
from: "logs",
localField: "logs_id",
foreignField: "_id",
as: "logsArr",
})
.unwind("logsArr")
.lookup({
from: "cities",
let: { citiyes: "$order" },
pipeline: [
{
$match: {
$expr: { $eq: [searchCity, "$logsArr.city"] },
},
},
],
as: "cityArr1",
})
.unwind("cityArr1");
}
Все это работает, но выводит все города, а мне надо по определенным, не пойму, через что или как дальше делать агреггацию, помогите пожалуйста
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы