Prima di tutto, non hai bisogno dell'original oggetto affatto. Puoi accedervi nel pre agganciare tramite this . In secondo luogo post hook viene eseguito solo dopo tutto pre gli hook vengono eseguiti, quindi il tuo codice non ha alcun senso (controlla i documenti di mongoose
).
Puoi eseguire il controllo selezionando isModified
nel tuo pre aggancia e rimuovi il post agganciare affatto.
OrderSchema.pre('save', function(next) {
if(!this.isModified()){
//not modified
}
next();
});
Aggiorna
Per verificare se qualche proprietà è stata modificata, passa il nome della proprietà come parametro a isModified funzione:
if (this.isModified("some-property")) {
// do something
}