删除mongoose中引用的文档

时间:2015-05-22 09:22:46

标签: node.js mongodb mongoose

我使用$ pull成功删除了父文件的子文档。 现在,我如何删除自己架构中的子文档? 我很抱歉,如果它没有任何意义,node.js newb here。 :)

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

1 个答案:

答案 0 :(得分:0)

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

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);
      }
});
相关问题