MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Trova se l'oggetto è stato modificato nella mangusta uncinata pre-salvataggio

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
}