我使用$ 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);
}
});
答案 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);
}
});