我已使用 $pull 成功删除了父文档的子文档。 现在,我如何删除其自己的架构中的子文档? 如果没有任何意义,我很抱歉,这里是node.js新手。 :)
用户架构
var userSchema = new Schema({
posts:[{type:Schema.Types.ObjectId,ref:'post'}]
});
后架构
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);
}
});
最佳答案
您可以尝试创建嵌套调用来删除子架构,如下所示:
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);
}
});
关于node.js - 删除 Mongoose 中引用的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30392983/