node.js - 如何在express js中按id从多个集合中删除记录?
问题描述
我创建了三个系列,
家庭 {familyname , _id}
根 {rootname familyId _id}
child{childname rootId familyId _id}
现在如果我删除家庭,根和孩子也应该被删除
到目前为止,我已经尝试过了,但它不起作用
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
});
});
});
解决方案
您可以使用该.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
});
});
});
推荐阅读
- android - 如何在 JetPack-Paging3 中使用多项目类型?
- python - Pandas 按单元格解析
- postgresql - plpgsql 为属性名后面的类型赋值
- c# - DotSpatial (C#) re-projections - “InitializeExternalGrids”导致 .Net “冻结”
- android - Android Avd 被杀
- c# - 是否可以在非静态方法上启动程序?
- android - 如何从 Google Play 控制台删除/隐藏上传的发布版本?
- wordpress - Wordpress PeepSo 修改 - 在活动流中显示 WP 评论
- r - 从 R 包输出到用户的主文件空间,而不是“恶意或反社会”
- c# - 如何使用 LibGit2sharp 在 repo 中添加 git 子模块