MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Rechercher si l'objet est modifié dans la mangouste pré-sauvegardée

Tout d'abord, vous n'avez pas besoin de l'original objet du tout. Vous pouvez y accéder dans le pre crochet via this . Deuxièmement, post hook ne s'exécute qu'après tous les pre les crochets sont exécutés, donc votre code n'a aucun sens (vérifiez la documentation de mongoose ).

Vous pouvez faire la vérification en cochant isModified dans votre pre accrocher et retirer le post crochet du tout.

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

Mettre à jour

Afin de vérifier si une propriété a été modifiée, passez le nom de la propriété en tant que paramètre à isModified fonction :

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