Удаление объекта из массива в MongoDB

#mongodb #mongoose #mongodb-query #web-deployment #mern

Вопрос:

Учитывая следующего пользователя:

     {
    "isAdmin": false,
    "_id": "607e6fbc389bbd273c701be5",
    "name": "user2",
    "email": "user2@gmail.com",
    "myCart": [
        {
            "_id": "60924a9947890e390c9545ec",
            "cart": "607001c41e495c2d10361ac3",
            "qty": 3
        },
        {
            "_id": "60924ab147890e390c9545ed",
            "cart": "607001c41e495c2d10361ac8",
            "qty": 3
        }
    ],
    "__v": 0
}
 

Я хочу удалить определенный объект из массива myCart. Я пробовал делать :

 router.post("/delete/:id", auth, async (req, res) => {
  try {
    
    User.update(
      { _id: req.user.id },
      { $pull: { myCart: { _id: req.params.id } } },
      { multi: true }
    );
    const user = await User.findById(req.user.id).populate("myCart.cart");
    res.send(user.myCart);
  } catch (err) {
    console.error(err.message);
    res.status(500).send("Server Error");
  }
});
 

Но ничего не вышло. каковы альтернативы??

Комментарии:

1. ваш запрос выглядит хорошо, просто поставьте ожидание перед вашим запросом await User.update(..