Я создаю метод POST через mongo / mongoose:
Department
.create({
name: req.body.name,
link: req.body.link,
state: req.body.state,
requirements: req.body.requirements,
salary: req.body.salary,
description: req.body.description
})
Требования - это объект, содержащий другие предметы:
requirements: {
age: 21,
citizenship: "yes",
degree: "4-year"
}
Перед созданием я проверяю, все ли поля были предоставлены:
router.post('/create', (req, res) => {
const requiredFields = ["name", "link", "state", "age", "citizenship", "degree" "salary", "description"];
for(let i=0; i < requiredFields.length; i++){
const field = requiredFields[i];
if(!(field in req.body)){
const message = `Missing \`${field}\` field in request body`;
console.error(message);
return res.status(400).send(message);
};
};
Из-за того, что age
, citizenship
и degree
являются объектами, я не могу поместить их строку в обязательные поля. Ошибка на Missing age field in request body
. Любая идея, как проверить, что они были представлены в req.body?