最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

isModified()何时在猫鼬中返回true?我正在寻找简要说明

IT培训 admin 12浏览 0评论

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?我正在寻找简要说明

我想知道以下代码中何时(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

发布评论

评论列表 (0)

  1. 暂无评论