简要说明"/>
isModified()何时在猫鼬中返回true?我正在寻找简要说明
我想知道以下代码中何时(user.isModified('password')
为真?有点混乱,因为第一次密码没有更改,因此isModified
应该返回false。对?
userSchema.pre('save', function(next){
var user = this;
if (user.isModified('password')){
bcrypt.genSalt(saltRounds, function(err, salt) {
if(err) return next(err);
bcrypt.hash(user.password, salt, function(err, hash) {
if(err) return next(err);
user.password = hash;
next();
});
});
}else{
next();
}});
回答如下:无论何时更改特定字段的值,isModified的值都会更改。因此,只要修改user.isModified('password')
,'password'
就为真。在第一种情况下,最初的密码值将为空或为null,因此在这种情况下,它也会返回true
。
更多推荐
isModified()何时在猫鼬中返回true?我正在寻找简要说明
发布评论