CRUD: Как удалить категорию продукта со всеми продуктами внутри? - PullRequest
0 голосов
/ 31 марта 2020

Мне нужно удалить категорию продукта, со всеми продуктами внутри. В модели продукта категория является ссылкой на объект.

Есть ли простой способ, какой-нибудь известный метод? Я попытался удалить все, он говорит, что удалить все не является функцией.

router.delete(`/category/:id/delete`, async (req, res) => {
  try {
    if (!req.params.id) res.send("missing id");
    else {
      await Product.removeAll({ category: req.params.id });

      const categoryToDelete = await Category.findById(req.params.id);
      await categoryToDelete.remove();

      res.send("category deleted");
    }
  } catch (error) {
    res.status(400).json({ error: error.message });
  }
});

спасибо за ваши знания и помощь

1 Ответ

0 голосов
/ 31 марта 2020
router.delete(`/category/:id/delete`, async (req, res) => {
try {
  if (!req.params.id) res.send("missing id");
  else {

    await Product.remove({ category: req.params.id });

    res.send("category deleted");
  }
 }
  } catch (error) {
     res.status(400).json({ error: error.message });
  }
});

просто передайте запрос в метод remove, это удалит все соответствующие документы

...