Mettre à jour un champ dans la mangouste (modèle node.js)
J'ai un utilisateur de schéma où je veux mettre à jour certaines informations, comme ceci.
User.findOne({_id: idd}, function(err, usr){
usr.info = "some new info";
usr.save(function(err) {
});
});
Mais le modèle a un crochet sur enregistrer pour hacher le mot de passe
UserSchema.pre('save', function(next) {
if (this.password && this.password.length > 6) {
this.salt = new Buffer(crypto.randomBytes(16).toString('base64'), 'base64');
this.password = this.hashPassword(this.password);
}
next();
});
Maintenant, quand j'essaie de le sauver il faut déjà hased mot de passe et le hachage de nouveau, une idée de comment éviter cela?
OriginalL'auteur user1930848 | 2014-11-26
Vous devez vous connecter pour publier un commentaire.
Utilisation De modèle.Mise à jour et déplacez la création d'un nouveau mot de passe à une fonction indépendante.
Le modèle de mise à jour est déconseillé d'utiliser updateOne à la place.
OriginalL'auteur BatScream
Avez-vous essayé d'utiliser
isModified
?OriginalL'auteur Thomas Decaux