我有一个带有子数组的注释模式,其中包含对其他注释的引用。当我删除一条评论时,我想要一个命令来删除它的父评论中对它的引用。到目前为止,我有这个,但它不起作用。我该如何正确地做到这一点?
SCHEMA:
var CommentSchema = Schema({
body: {type: String},
chapterId: {type: RK, ref: 'Chapter'},
by: {type: RK, ref: 'User'},
children: [{
type: RK,
ref: 'Comment'
}]
}, {timestamps: true});
CommentSchema.pre('remove', function(next){
this.model('CommentSchema').remove({children:this._id}, next);
})
命令:
Comment.findByIdAndUpdate(parent, {$pull:{children:{_id: mainid}}})
为什么这不起作用?^^^^ 我不知道怎么做。 parent是父注释的id。我证实它有效。 mainid是要删除的注释的id,父注释包含在其ref数组中,也是有效的。