Først og fremmest behøver du ikke den originale objekt overhovedet. Du kan få adgang til det i pre hook via denne . For det andet post hook udføres kun efter alle pre hooks udføres, så din kode giver overhovedet ingen mening (tjek mongoose-dokumenter
).
Du kan foretage kontrollen ved at markere isModified
i din præ hægt og fjern post krog overhovedet.
OrderSchema.pre('save', function(next) {
if(!this.isModified()){
//not modified
}
next();
});
Opdater
For at kontrollere, om en egenskab er blevet ændret, skal du videregive ejendomsnavnet som en parameter til isModified funktion:
if (this.isModified("some-property")) {
// do something
}