Я использую сервер на ExpressJS. Есть такой обработчик:
router.get('/articles/:section', Article.getArticlesBySection)
exports.getArticlesBySection = (req, res, next) => {
Article.find({section: req.params.section})
.then((articles) => {
if (!articles) {
// FIX THIS
return res.status(404).json({
message: 'Articles doesn\'t exist'
})
}
return res.status(200).json(articles)
})
.catch((err) => {
return next(err)
})
}
Всего у меня существует 3
section
. Я хочу возвращать сообщение юзеру, если вдруг случается обращение по роуту, имя которого не совпадает с моими
section
. Проблема в том, что если
.find
ничего не находит, то это не срабатывает
if (!articles) {
// FIX THIS
return res.status(404).json({
message: 'Articles doesn\'t exist'
})
}
И он возвращает пустой массив вида
[]
Как обработать это? Может быть мне надо использовать другой метод Монгуса? Потому что
.findOne
отрабатывает как задумано с аналогичным кодом (я его использую если неправильный адрес конкретной заметки.