从mongoDb中的数组中删除对象
给定以下用户:从mongoDb中的数组中删除对象,mongodb,mongoose,mongodb-query,web-deployment,mern,Mongodb,Mongoose,Mongodb Query,Web Deployment,Mern,给定以下用户: { "isAdmin": false, "_id": "607e6fbc389bbd273c701be5", "name": "user2", "email": "user2@gmail.com", "myCart": [ { &quo
{
"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");
}
});
但一切都没有结果。有什么替代方法???您的查询看起来不错,只需将wait放在查询之前
wait User.update(…