Мангуст Методы - PullRequest
       34

Мангуст Методы

0 голосов
/ 25 июня 2018

Я использую mongoose в своем проекте, где хеширую пароль перед сохранением с помощью функции UserSchema.pre ().Работает нормально и зашифровал пароль.Но когда я использую UserSchema.methods.comparePassword, он показывает мне ошибку на методы, как.методы объявлены, но никогда не использовали их значение.Ниже код, который я использую

'use strict';
    const mongoose = require('mongoose');
    const Schema = mongoose.Schema;
    const bcrypt = require('bcrypt-nodejs');

    const UserSchema = new Schema({
        company_id: String,
        branch_id: String,
        name: String,
        email : String,
        password: String,
    });

    UserSchema.pre('save', function (next) {
        var user = this;
        if(!user.isModified('password')) return next();
        if(user.password) {
            bcrypt.genSalt(10, function(err, salt) {
                if(err) return next(err);
                bcrypt.hash(user.password, salt, null, function(err, hash) {
                    if(err) return next();
                    user.password = hash;
                    next(err)
                })
            })
        }
    });

    UserSchema.methods.comparePassword = function(candidatePassword)  {
        return bcrypt.compareSync(candidatePassword, this.password);
    };

    module.exports = mongoose.model('User', UserSchema);

1 Ответ

0 голосов
/ 25 июня 2018

Вы можете прокатиться. Методы UserSchema.comparePassword должно быть хорошо

...