在引用数组mongoosejs中删除parent引用的所有对象的正确方法是什么

时间:2015-09-08 07:09:00

标签: arrays mongoose

有父子关系:

var parentSchema = new mongoose.Schema({
  name: String,
  children: {type: mongoose.Schema.Types.ObjectId, ref: 'Child'}
});
var childSchema = new mongoose.Schema({ name: String });

我想删除子数组中引用的Parent及其所有子节点。

这样做的正确方法是什么?因为我理解,forEach over children数组并不是一个好方法。

修改

我这样做:

Parent.pre('remove', function(next) {
   Child.remove( {_id: {$in: {this.children}}}, function(err) { 
      if ( err ) ...
   });
   next();
});
Parent.findById( req.params.parentId, function(err, parent) {
  parent.remove(function(err) {
    if (err) ....
  }
});

0 个答案:

没有答案