sql >> Database >  >> NoSQL >> MongoDB

Zoek of het object is gewijzigd in de pre-save hook mangoest

Allereerst heb je de originele niet nodig voorwerp helemaal niet. Je kunt het openen in de pre haak via dit . Ten tweede post hook wordt pas uitgevoerd na alle pre hooks worden uitgevoerd, dus je code slaat helemaal nergens op (controleer mongoose-documenten ).

U kunt de controle uitvoeren door isModified in je pre haak en verwijder de post haak helemaal af.

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

Bijwerken

Om te controleren of een eigenschap is gewijzigd, geeft u de eigenschapsnaam als parameter door aan isModified functie:

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



  1. Botsingskans van ObjectId versus UUID in een groot gedistribueerd systeem

  2. Mongoose complexe (asynchrone) virtuals

  3. Mongoose-fout - geen 'toObject'-methode na upgrade

  4. Vind max element in een array