使用MongoDB和Mongoose,我如何将对象标记为依赖于它们的关系,这样如果删除了Parent对象,那么依赖于它的所有子对象也将被删除。例如,如果删除作者,如何自动删除作者的所有文章?
var AuthorSchema = new Schema({
created: {
type: Date,
default: Date.now
},
name: {
type: String,
default: '',
trim: true
}
});
var ArticleSchema = new Schema({
created: {
type: Date,
default: Date.now
},
title: {
type: String,
default: '',
trim: true
},
content: {
type: String,
default: '',
trim: true
},
author: {
type: Schema.ObjectId,
ref: 'Author'
}
});
答案 0 :(得分:1)
如果你想做一些像mysql' s"删除级联的外键"如果删除父项,则会自动删除子项,然后在纯mongodb中无法删除。
为了实现这一点,您必须在应用程序逻辑中实现它。删除作者时,必须根据authorID在文章集上运行另一个删除。不要忘记在此字段上添加索引。