Удалите определенный элемент из массива, используя mon goose и nodejs - PullRequest
0 голосов
/ 17 июня 2020

Я хочу удалить конкретное изображение из массива после того, как пользователь нажмет кнопку удаления. Например,

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

Предположим, пользователь хочет удалить image.png, а затем я хочу удалить image.png из моей базы данных

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

1 Ответ

0 голосов
/ 17 июня 2020

Предполагая, что каждый документ имеет массив images, и вы хотите удалить один конкретный c элемент из массива, вы можете просто использовать $pull вместо $pullAll:

const imageName = req.params.image;
Image.updateOne({ _id: req.params.id }, { $pull: { images: { image: imageName }} });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...