有父子关系:
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) ....
}
});