आप isModified का उपयोग कर सकते हैं आपके 'पासवर्ड' फ़ील्ड पर विधि।
मैं इसे इस तरह से उपयोग करता हूं, अगर पासवर्ड संपत्ति बदल दी गई है तो केवल bcrypt चलाएं:
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();
}
});