Я могу добавить новый элемент в базу данных, если получу правильно отформатированный файл JSON в теле, где каждое обязательное поле содержит что-то. Если значение равно false, сейчас я просто возвращаю JSON файл, подобный этому:
{
"succes": false
}
Но я также хочу вернуть сообщение об ошибке. Я уже реализовал строку ошибки в модели, но я не знаю, как я могу вытащить это, если блок catch ловит ошибку ...
My добавить новый элемент метод:
exports.addBootcamp = async (req, res, next) => {
try {
const bootcamp = await Bootcamp.create(req.body);
if (!bootcamp) {
return res.status(404).json({ succes: false });
}
res.status(201).json({
succes: true,
data: bootcamp
});
} catch (err) {
return res.status(404).json({ succes: false });
}
};
Начальная часть моей модели:
const BootcampShema = new mongoose.Schema({
name: {
type: String,
required: [true, 'Please add a name'], //first error message
unique: true,
trim: true,
maxlength: [50, 'Name cannot be more than 50 characters']
},
slug: String,
description: {
type: String,
required: [true, 'Please add a description'], //second error message
maxlength: [500, 'Description cannot be more than 500 characters']
},
//...etc
Конечно, они находятся в отдельных js файлах, но я могу их экспортировать.