如何在快递js中通过id删除多个集合中的记录?

问题描述 投票:0回答:1

我创建了三个集合,

家庭{familyname,_id}

root {rootname familyId _id}

child {childname rootId 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
      });
    });
}); 
node.js mongodb express
1个回答
0
投票

您可以使用.remove()方法返回的promise,如下所示:

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
        });
    });
}); 
© www.soinside.com 2019 - 2024. All rights reserved.