如何从mongodb中的引用数组中删除引用?

时间:2018-01-17 01:53:36

标签: node.js mongodb mongoose

我有一个带有子数组的注释模式,其中包含对其他注释的引用。当我删除一条评论时,我想要一个命令来删除它的父评论中对它的引用。到目前为止,我有这个,但它不起作用。我该如何正确地做到这一点?

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数组中,也是有效的。

0 个答案:

没有答案