猫鼬 - 如何指定和删除依赖关系?

时间:2013-11-25 01:22:42

标签: node.js mongodb express mongoose

使用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'
    }
});

1 个答案:

答案 0 :(得分:1)

如果你想做一些像mysql' s"删除级联的外键"如果删除父项,则会自动删除子项,然后在纯mongodb中无法删除。

为了实现这一点,您必须在应用程序逻辑中实现它。删除作者时,必须根据authorID在文章集上运行另一个删除。不要忘记在此字段上添加索引。