在updateMany函数上未触发保存事件

时间:2019-05-10 09:26:59

标签: mongoose mongoose-schema

由于某些原因,通过Mongoose 5.2.7中的updateMany函数更新数据时会触发pre和post事件。

虽然初始化事件被触发。

以下是代码

const schema = new mongoose.Schema({
  name           : { type: String },
  address        : { type: String },
}, { versionKey: false });

schema.set('collection', 'test');

schema.pre('save', function() {
  console.log('--- PRE SAVE ----');
})

schema.post('save', function() {
  console.log('--- POST SAVE ----');
})

我可能做错了什么?

2 个答案:

答案 0 :(得分:0)

此处pre('save', () => {})仅通过save调用被触发,并且updateManysave不相同。您需要在此处调用save()来触发pre and post save事件。

答案 1 :(得分:0)

通过添加schema.pre('updateMany')方法来解决。