Mongoose Cascade从包含id数组的数组中删除

时间:2018-06-14 13:14:45

标签: node.js mongodb mongoose

我有用户和调查模型。调查模型如下所示:

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();
});

我知道这甚至不接近解决方案,但只是这样你就可以看到我要走的路。

0 个答案:

没有答案