删除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); } });