$pull在mongodb中从列表中删除对象时不起作用

$pull在mongodb中从列表中删除对象时不起作用,mongodb,mongoose,mongodb-query,backend,mongoose-schema,Mongodb,Mongoose,Mongodb Query,Backend,Mongoose Schema,在移除猫鼬中的对象时遇到问题。我在用户架构下有以下用户: { "isAdmin": false, "_id": "6079951b7e1c0d400ce394ab", "name": "user5", "email": "user5@gmail.com", "myCart": [ {

在移除猫鼬中的对象时遇到问题。我在用户架构下有以下用户:

{
    "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");
  }
});

它有什么问题吗?
在这里输入代码

使用
mongoose.Types.objectId(req.params.id)
将数据库集合中的objectId转换为objectId