提问者:小点点

使用mongoose和nodejs从数组中删除特定元素


router.get("/delete_image/:id/:image", (req, res) => {
    const image = req.params.image;
        Image.updateOne({ _id: req.params.id }, { $pullAll: { image: [image] } })
});

我想删除一个特定的图像从数组后,用户按下删除按钮,例如。

[{
id:1,
image:images.png
},
{
id:2,
image:images2.png
}]

假设用户想要删除image.png,那么我想要从我的数据库中删除image.png


共1个答案

匿名用户

假设每个文档都有一个images数组,并且您想要从数组中删除一个特定元素,您可以简单地使用$pull而不是$pullall:

const imageName = req.params.image;
Image.updateOne({ _id: req.params.id }, { $pull: { images: { image: imageName }} });