1
有人可以幫我做一個貓鼬手術嗎?我目前正在建立這個投票系統。 我有這個Poll
模型:貓鼬,如何正確刪除中間件的參考?
var Poll = new Schema({
title: {
type: String,
required: true
},
options: [{text:String, count: {type: Number, default: 0}}],
author: {
type: Schema.ObjectId,
ref: 'Account',
},
disabled: {
type:Boolean,
default: false,
},
date: {type: Date, defalut: Date.now},
});
,我有這個登錄模型:
var Log = new Schema({
ip: String,
voter: {
type: Schema.ObjectId,
ref: 'Account'
},
poll: {
type: Schema.ObjectId,
ref: 'Poll'
},
date: {type: Date, defalut: Date.now},
});
用戶每次投票的東西,日誌將創建類似:
{ ip: '::1',
voter: 5824e7c3b6e659459818004f,
poll: 58264b48f767f2270452b5cb,
_id: 58264b4cf767f2270452b5ce }
現在,如果用戶刪除了他的投票中的一個,例如58264b48f767f2270452b5cb
,我還想刪除其中具有相同投票ID的所有日誌文檔。
我看了一些其他的答案,並想出了一箇中間件
Poll.pre('remove', function(next){
var err = new Error('something went wrong');
this.model('Log').remove({poll: this._id}, function(err){
if (err) throw err;
})
next(err);
});
,但它不工作。
我該怎麼辦?謝謝。