Przede wszystkim nie potrzebujesz oryginalnego
obiekt w ogóle. Możesz uzyskać do niego dostęp w pre
zaczep przez to
. Po drugie post
hook wykonuje się dopiero po wszystkim pre
haki są wykonywane, więc Twój kod nie ma żadnego sensu (sprawdź dokumentację mongoose
).
Możesz to sprawdzić, zaznaczając isModified
w swoim pre
zaczep i usuń post
hak w ogóle.
OrderSchema.pre('save', function(next) {
if(!this.isModified()){
//not modified
}
next();
});
Aktualizacja
Aby sprawdzić, czy jakaś właściwość została zmodyfikowana, przekaż nazwę właściwości jako parametr do isModified
funkcja:
if (this.isModified("some-property")) {
// do something
}