Давайте посмотрим на приведенный ниже пример
Я хочу обновить только одну запись в моем ExpensesHouse, чтобы создать следующий код
router.post("/editExpense/:id", ensureAuthenticated, (req, res) => {
var id = mongoose.Types.ObjectId(req.params.id);
House.updateOne(
{ "expensesHouse._id": id },
{
$set: {
expensesHouse: {
_id: id,
expenseType: req.body.expenseType,
description: req.body.description,
price: req.body.price,
status: req.body.status,
userID: req.user.id
}
}
}
).then(house => {
req.flash("success_msg", "Expenses Updated");
res.redirect("/houses/dashboard");
});
});
Работает нормально и может обновлять запись, но так как у меня 2 или более объектов, все остальные пропали. Поэтому, когда я обновляю, предположим, что 1: Object, costType: Water и я меняем тип расхода на другой, 0: Object просто исчезает, и мне нужно обновить только регистр с _id: id
Ниже вас можно увидеть результат после UpdateOne