我是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
内为order, product
调用其他已定义的delete_data
函数
答案 0 :(得分:0)
正如@ Geert-Jan所建议的,级联删除是我的解决方案。 geert-jan给出的link解决了我的问题。但是,我想知道能否在delete
内为order, product
调用其他已定义的delete_data
函数