$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