Как удалить записи из нескольких коллекций по идентификатору в Express JS? - PullRequest
0 голосов
/ 28 сентября 2018

Я создал три коллекции:

family {familyname, _id}

root {rootname familyId _id}

child {childname rootId familyId familyId _id}

Теперь, если я удаляю family, root, и child также должны быть удалены

Пока я пробовал это, но это не работает

router.delete("/:familyId", (req, res, next) => {
  const id = req.params.familyId;
  Family.remove({ _id: id })
  Root.remove({ _id: id })
  Child.remove({ _id: id })
    .exec()
    .then(result => {
      res.status(200).json({
          message: 'deleted',
      });
    })
    .catch(err => {
      console.log(err);
      res.status(500).json({
        error: err
      });
    });
}); 

1 Ответ

0 голосов
/ 28 сентября 2018

Вы можете использовать обещания, возвращенные методом .remove() следующим образом:

router.delete("/:familyId", (req, res, next) => {
    const id = req.params.familyId;

    const family = Family.remove({ _id: id });
    const root = Root.remove({ familyId: id });
    const child = Child.remove({ familyId: id });

    Promise.all([family, root, child]).then(result => {
        console.log(result);
        res.status(200).json({
            message: 'deleted',
        });
    }).catch(err => {
        console.error(err);
        res.status(500).json({
            error: err
        });
    });
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...