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
}