Я добавил крючок, чтобы получить экземпляр модели пользователя для шифрования паролей пользователей. Но им не удалось получить экземпляр модели.Тип Ошибка при получении экземпляра модели
Это мой код
regUsers.pre('save',(next)=>{
// get access to this user model
const user = this;
// generate salt the run call back
bcrypt.genSalt(10,(err,salt)=>{
if(err){ return next(err);}
// hash(encrypt) our password using salt
bcrypt.hash(user.password,salt,null,(err,hash)=>{
if(err){ return next(err);}
//overwrite plain text password with encrypted password
user.password = hash;
next();
});
})
});
Im получаю ошибку типа, как TypeError: Не удается прочитать свойство 'пароль' неопределенных. Любая причина, почему я получаю этот erorr? и как преодолеть это?
'this' будет ссылаться на экземпляр' mongoose.Query' .. –
@SunilBN в этом случае используется «промежуточное программное обеспечение документа», это означает ссылку на обновляемый документ, а не на запрос , Здесь объясняется: http://mongoosejs.com/docs/middleware.html –
Возможный дубликат [Mongoose pre/post midleware не может получить экземпляр \ [this \] с использованием ES6] (http://stackoverflow.com/questions/36957440/мангуст-пра-пост-косяк-связующий программное обеспечение-Acces-это-экземпляр с помощью-ES6) –