删除mongoose模型上的引用ID

时间:2018-05-31 08:25:01

标签: node.js mongoose

方案是我有一个User模型,它有一个名为filedLeaves的数组,其中包含在另一个集合中引用的ObjectId。我想要做的是在删除特定用户后从其集合中删除那些ObjectIds。

这是我的用户模型

var schema = new Schema({
  fullName: {
    type: String,
    required: true,
    unique: true
  },
  leaveCredits: {
    type: Number
  },
  filedLeaves: [{
    type: Schema.Types.ObjectId,
    ref: 'Leave'
  }]
}, {
  usePushEach: true
});

我的离开模型

var schema = new Schema({
  userId: {
    type: Schema.Types.ObjectId,
    ref: 'User'
  },
  status: {
    type: String,
    required: true
  },
  start: {
    type: String,
    required: true
  },
  end: {
    type: String,
    required: true
  },
  type: {
    type: String,
    required: true
  }
});

我在我的用户模型上尝试了这个,但似乎没有用。

schema.post('remove', function (user) {
  user.filedLeaves.forEach(id => {
    Leave.findByIdAndRemove(id)
  });
});

0 个答案:

没有答案