#mongodb #mongoose #mongodb-query #backend #mongoose-schema
Вопрос:
Возникли проблемы с удалением объекта в мангусте. У меня есть следующий пользователь в схеме пользователя:
{
"isAdmin": false,
"_id": "6079951b7e1c0d400ce394ab",
"name": "user5",
"email": "user5@gmail.com",
"myCart": [
{
"_id": "607995467e1c0d400ce394ac",
"cart": "607001c41e495c2d10361ac4",
"qty": 6
},
{
"_id": "607995577e1c0d400ce394ad",
"cart": "607001c41e495c2d10361ac8",
"qty": 2
},
{
"_id": "6079b07e7e1c0d400ce394ae",
"cart": "607001c41e495c2d10361ac6",
"qty": 4
}
],
"__v": 0
}
Я хочу удалить определенный объект из myCart. Я использую следующий запрос, но ничего не происходит:
router.post("/delete/:id", auth, async (req, res) => {
try {
User.findOneAndUpdate(
{ _id: req.user.id },
{
$pull: {
myCart: { _id: req.params.id },
},
}
);
res.send("Product removed");
} catch (err) {
console.error(err.message);
res.status(500).send("Server Error");
}
});
Что в этом плохого? enter code here
Комментарии:
1. преобразуйте
req.params.id
строковый тип в ObjectId, если его objectid в коллекции базы данных с помощьюmongoose.Types.ObjectId(req.params.id)