sql >> Database >  >> NoSQL >> MongoDB

Ik wil dat mijn pre('save') mangoestfunctie maar één keer werkt

U kunt isModified gebruiken methode in uw 'wachtwoord'-veld.

Ik gebruik het op deze manier, voer alleen bcrypt uit als de wachtwoordeigenschap is gewijzigd:

UserSchema.pre('save', function (next) {
  var user = this;

  if (user.isModified('password')) {
    bcrypt.genSalt(10, (err, salt) => {
      bcrypt.hash(user.password, salt, (err, hash) => {
        user.password = hash;
        next();
      });
    });
  } else {
    next();
  }
});



  1. Wanneer verloopt een mongodb-document nadat het is bijgewerkt?

  2. Wat betekent te veel positionele opties bij het doen van een mongo-export?

  3. Mongoose-schema's maken met of zonder 'nieuw' trefwoord?

  4. mangoest findByIdAndDelete / findOneAndRemove niet verwijderen