我有用户和调查模型。调查模型如下所示:
const SurveySchema = mongoose.Schema({
title: {
type: String
},
options: [{
value: String,
votes: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }]
}]
})
所以在UserSchema中,我想进行级联删除,当用户删除他的帐户时,我想将他从投票中删除。所以我尝试过这样的事情:
UserSchema.pre('remove', function (next) {
this.model('Survey').update({ options: { $elemMatch: { votes: this._id } } }, { $pull: { votes: this._id } }, {multi: true}).exec();
next();
});
我知道这甚至不接近解决方案,但只是这样你就可以看到我要走的路。