Я устанавливаю новый API, используя шаблон MVC.И у меня есть проблема с отправкой правильного ответа пользователю.
Я обновляю свой объект и делаю в 2 шага, чтобы воспользоваться преимуществами проверки mongoose.
Функция обновления является def в модуле репозитория:
const update = (id, newBook) => {
return Book.findById({_id: id}, (err, oldBook) => {
oldBook.title = newBook.title;
oldBook.save().catch(err => {throw new Error(err)});
})
.exec()
.catch(err => err);
};
и мой модуль контроллера:
exports.update = async (req, res) => {
const requestBody = req.body;
let book = await BookRepository.update(req.params.book_id, requestBody);
if (book instanceof Error) {
res.json(new Response(false, [], book));
} else {
res.json(new Response(true));
}
};
Если я делаю, как я представил выше, я не могу пойматьоб ошибке и отправьте ответ.