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

Find om objektet er ændret i pre-save hook mongoose

Først og fremmest behøver du ikke den originale objekt overhovedet. Du kan få adgang til det i pre hook via denne . For det andet post hook udføres kun efter alle pre hooks udføres, så din kode giver overhovedet ingen mening (tjek mongoose-dokumenter ).

Du kan foretage kontrollen ved at markere isModified i din præ hægt og fjern post krog overhovedet.

OrderSchema.pre('save', function(next) {    
    if(!this.isModified()){
        //not modified
    }
    next();
});

Opdater

For at kontrollere, om en egenskab er blevet ændret, skal du videregive ejendomsnavnet som en parameter til isModified funktion:

if (this.isModified("some-property")) {
  // do something
}



  1. Redis cache vs brug af hukommelse direkte

  2. hvordan får man kombinationer af elementer i et matrixfelt i MongoDB?

  3. Hvad er forskellen mellem metoden insert(), insertOne() og insertMany()?

  4. MongoDB ekstremt langsom sammenlignet med MySQL med 10M rekorder