MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Finden Sie heraus, ob das Objekt in Pre-Save-Hook-Mongoose geändert wurde

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
}