【发布时间】:2019-02-16 20:09:03
【问题描述】:
我是 MongoDB 的新手。我创建了 4 个集合,它们相互关联。 (我是用node.js写的)
这是我的问题。如何一次删除所有记录?有deep level population之类的吗?
这个可以容纳所有模型。
const DataModel = mongoose.Schema({
_id: { type: mongoose.Schema.Types.ObjectId, ref: 'User', require: true},
order: { type: mongoose.Schema.Types.ObjectId, ref: 'Order', require: true},
});
用户模型
const userSchema = mongoose.Schema({//other stuff});
订单模型
const orderSchema = mongoose.Schema({
product: { type: mongoose.Schema.Types.ObjectId, ref: 'Product', required: true },
//other stuff
});
产品型号
const productSchema = mongoose.Schema({//other stuff});
我可以从数据库中删除带有这些代码的条目,但其他条目仍然存在
exports.delete_data = (req, res, next) => {
const id = req.params.userId;
userDataModel.deleteOne({_id: id})
.exec()
.then(docs => {
res.status(200).json({
message: 'Record Deleted',
request: {
type: 'POST'
}
});
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
};
更新:但是,我想知道,我能否在 delete_data 中为 order, product 调用其他已定义的 delete 函数
【问题讨论】:
-
您可能正在寻找“级联删除”功能。见问答here
-
@Geert-Jan 我会立即检查。我会回复的
-
@Geert-Jan 有没有办法在'delete.data'中调用其他定义的删除函数
标签: node.js mongodb mongoose postman