sql >> Databáze >  >> NoSQL >> MongoDB

Chci, aby moje funkce pre('save') mongoose fungovala pouze jednou

Můžete použít isModified v poli 'heslo'.

Používám to tímto způsobem, spouštím bcrypt pouze v případě, že byla změněna vlastnost hesla:

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. Kroky k instalaci MongoDB na Amazon Linux

  2. MongoDB InsertBatch JObject – Chyba serializace

  3. Sloučit dvě pole pole v mongoDB

  4. Hledání odlišných řádků v rozsahu pomocí mongoidu