MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tôi muốn hàm mongoose pre ('save') của mình chỉ hoạt động một lần

Bạn có thể sử dụng isModified trên trường 'mật khẩu' của bạn.

Tôi sử dụng nó theo cách này, chỉ chạy bcrypt nếu thuộc tính mật khẩu đã bị thay đổi:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Đánh giá truy vấn MongoDB với NodeJS

  2. Giao diện Mongo

  3. MongoDB cursor.count ()

  4. Đặt cơ sở dữ liệu mặc định cho MongoDB shell

  5. Cách phù hợp để làm việc với ISODate trong Mongoose là gì