@ Jeremy, I came to the same problem and finally found a workaround:
schema.pre('update', function(next) { const modifiedField = this.getUpdate().$set.field; if (!modifiedField) { return next(); } try { const newFiedValue =
Taken from here: https://github.com/Automattic/mongoose/issues/4575
In doing so, you can check whether any update is coming in the field, but you cannot check whether the input value is different from the saved one. It works great for my use case (password encryption after reset)
I hope this helps.
source share