我正在使用猫鼬4.11.3。我正在尝试使用update
后中间件。没用我尝试了save
,它工作正常。不知道怎么了。
const mongoose = require('mongoose')
const Schema = mongoose.Schema
const ProfileSchema = Schema({
// schema defined here
})
// working fine
ProfileSchema.post('save', function () {
console.log('save called')
})
// not working
ProfileSchema.post('update', function (err, doc, next) {
console.log('update called')
})
我正在呼叫findOneAndUpdate
,数据正在更新,但未调用更新中间件。甚至pre都不起作用。
谢谢。
答案 0 :(得分:0)
这对我有用,但不确定为什么'update'
无效。
ProfileSchema.post('findOneAndUpdate', function () {
console.log('pre - update')
})
答案 1 :(得分:0)
如果使用
,则不会调用“更新”钩子Profile.updateOne();
Profile.findOneAndUpdate();
以此类推。
“ findOneAndUpdate
”之所以有效,是因为您正在使用
Profile.findOneAndUpdate();
应该有意义。