Я создал схему БД Mon go с Mon goose в Express. js, и я строю REST API. Однако, когда я пытаюсь обновить существующие записи, значения, которые я не обновляю из схемы, автоматически становятся нулевыми. Я понимаю, почему это происходит, просто не уверен, как именно это должно быть закодировано.
Это маршрут:
router.patch("/:projectId", async (req, res) => {
try {
const updatedProject = await Project.updateOne(
{ _id: req.params.projectId },
{
$set: {
title: req.body.title,
project_alias: req.body.project_alias,
description: req.body.description
}
}
);
res.json(updatedProject);
} catch (err) {
res.json({ message: err });
}
});
также вот схема:
const ProjectsSchema = mongoose.Schema({
title: {
type: String,
required: true,
unique: true
},
project_alias: {
type: String,
unique: true,
required: true
},
description: String,
allowed_hours: Number,
hours_recorded: {
type: Number,
default: 0
},
date_added: {
type: Date,
default: Date.now
}
});
Моя проблема в том, что когда я хочу обновить только заголовок:
{
"title" : "Title Updated33"
}
описание и псевдоним становятся пустыми. Должен ли я осуществить проверку?