由于某些原因,通过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 ----');
})
我可能做错了什么?
答案 0 :(得分:0)
此处pre('save', () => {})
仅通过save
调用被触发,并且updateMany
和save
不相同。您需要在此处调用save()
来触发pre and post save
事件。
答案 1 :(得分:0)
通过添加schema.pre('updateMany')方法来解决。