Zunächst einmal benötigen Sie nicht das original
Objekt überhaupt. Sie können im pre
darauf zugreifen Hook über this
. Zweitens post
Hook wird erst nach pre
ausgeführt Hooks werden ausgeführt, sodass Ihr Code überhaupt keinen Sinn ergibt (mongoose docs prüfen
). ).
Sie können die Überprüfung durchführen, indem Sie isModified
in Ihrem pre
Haken Sie den post
ein und entfernen Sie ihn Haken überhaupt.
OrderSchema.pre('save', function(next) {
if(!this.isModified()){
//not modified
}
next();
});
Aktualisieren
Um zu überprüfen, ob eine Eigenschaft geändert wurde, übergeben Sie den Eigenschaftsnamen als Parameter an isModified
Funktion:
if (this.isModified("some-property")) {
// do something
}