删除mongoose中的引用文件

我已经使用$ pull成功删除了父文档的子文档。 现在,我将如何删除自己的模式中的子文档? 对不起,如果没有任何意义,node.js newb在这里。 🙂

UserSchema

var userSchema = new Schema({ posts:[{type:Schema.Types.ObjectId,ref:'post'}] }); 

PostSchema

 var postSchema = new Schema({ user:{type:Schema.Types.ObjectId,ref:'user'} }); 

删除:

 User.findByIdAndUpdate(id, {$pull:{'posts':post_id}},function(err,model){ if(!err){ console.log(model); resolve(model); } else{ reject(err); } }); 

您可以尝试创build嵌套的调用来删除子模式,如下所示:

 User.findByIdAndUpdate(id, {$pull:{'posts':post_id}},function(err,model){ if(!err){ Post.find({ user : model._id }).remove().exec(); console.log(model); resolve(model); } else{ reject(err); } });