sql >> Databasteknik >  >> NoSQL >> MongoDB

Jag vill att min pre('save') mongoose-funktion endast ska fungera en gång

Du kan använda isModified metod i ditt "lösenord"-fält.

Jag använder det på detta sätt, kör bara bcrypt om lösenordsegenskapen ändrades:

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. Att köra Meteor på localhost misslyckas med RangeError:porten ska vara>=0 och <65536:NaN

  2. MongoDB och BIRT-rapportering?

  3. Skriv din första rådgivare

  4. varför får jag favicon.ico när jag använder findOne-metoden för express params-rutter?