1
我正試圖讓'貓'中間件工作在貓鼬上。貓鼬級聯中間件,多級
我有一個數據庫中,我有:
'modules' -> 'modulesInst' -> 'assignments' -> 'studentAssignments'
所以,當模塊刪除,它瀑布「modulesInst」,而當modulesInst刪除它刪除「作業」相關的,然後用相同的「學生作業」 。
問題是我只能得到它在一個級別上工作。
頂級架構和 '刪除' 中間件(模塊)
var modulesSchema = new Schema (
{
_id: Number,
moduleName: String,
moduleLeader: String
}
);
modulesSchema.pre('remove', function(next){
modulesInst.remove({modID: this._id}).exec();
next();
});
第二級模式和 '刪除' middleare(moduleInst)[其中中間件停止級聯]
var modulesInstSchema = new Schema (
{
year: Number,
semester: String,
modID: [{ type: Schema.Types.Number, ref: 'Module' }],
}
);
modulesInstSchema.pre('remove', function (next) {
assignment.remove({modInsID: this._id}).exec();
next();
});
第三級架構和'刪除'中間件(賦值)[中間件不會觸發]
var assignmentSchema = new Schema (
{
code: String,
assignName: String,
modInsID: [{ type: Schema.Types.Number, ref: 'ModuleInst' }],
}
);
assignmentSchema.pre('remove', function (next) {
studentAssign.remove({assID: this._id}).exec();
next();
});
有沒有一個簡單的把戲我失蹤,以保持級聯?由於文檔不清楚,找不到示例。