Это мой роутер:
reportRoutes.route('/:id').get(async (req, res) => {
try{
let id = req.params.id
console.log(req.query)
let team = req.query.team
let league_acronym = req.query.league
console.log('team',team)
let regex = new RegExp( id, 'i')
const report = await Report.find({ title: regex })
.populate({path: 'like'})
.populate({
path: 'player',
populate: [{ path: 'team' },
{
path: 'team',
populate: {
path: 'league'
}
}
]
})
if(league_acronym) {
newReport = report.filter((v,i) => {
return v.player.team.league.acronym === league_acronym && v.player.team.team_name === team
})
res.json(newReport)
} else{
res.json(report)
}
} catch (e) {
res.status(500).send()
}
})
Я пытаюсь настроить фильтр, который просматривает отчет и возвращает newReport.
Условия, по которым он будет фильтроваться, основаны на параметрах строки запроса.
Поскольку параметры строки запроса не всегда присутствуют, мне нужен способ фильтрации условия, только если условие существует. Мысли?