Först och främst behöver du inte originalet objekt överhuvudtaget. Du kan komma åt den i pre koppla via denna . För det andra post hook körs bara efter alla pre hooks exekveras, så din kod är inte vettig alls (kolla mongoose-dokument
).
Du kan göra kontrollen genom att markera isModified
i din pre haka på och ta bort post kroka överhuvudtaget.
OrderSchema.pre('save', function(next) {
if(!this.isModified()){
//not modified
}
next();
});
Uppdatera
För att kontrollera om någon egenskap har ändrats, skicka egenskapsnamnet som en parameter till isModified funktion:
if (this.isModified("some-property")) {
// do something
}