Я использую mongoose с собственными обещаниями ES6 для управления базой данных в моем Nodejs, REST API.
У меня возникли проблемы с поиском лучших практик обработки ошибок. У меня есть участок кода, который выглядит так:
Cities.findOne({'id': someid}).then((city) => {
if (!city) throw 'No city found';
//modify city.embedded.dynamic.field
return city.save();
}).then((city) => {
if (!city) throw 'City not saved';
res.send(city);
}).catch((err) => {
console.log(err);
});
Нужно ли мне проверять, является ли возврат city.save()
неопределенным? Или ошибка в сейве будет ловиться в ловушке?
В документах неясно, может ли save()
вернуть undefined
, как это иногда делают запросы мангуста.
Любая помощь будет оценена по достоинству.
Изменить: я использую findOne
и вручную изменяю расписание, потому что мангуст не может моделировать динамическую схему, а также встроенную.