Express js: Схема не может получить предварительные параметры записи - PullRequest
0 голосов
/ 14 марта 2020

Я пытаюсь зашифровать свой пароль и сохранить в базу данных mon go и authcontroller. js ниже

const userSchema = require("../models/usermodel");

const bcrypt = require('bcryptjs');
exports.signUp =async (req,res)=>{
    const   {name,email,password} = req.body;

    //check if user exists
    const userexists = await userSchema.findOne({email : req.body.email});
    if(userexists)
    {
        res.status(403).json({error : " Email already taken"});
    }
    const user = await userSchema.create({
        name,email,password
    });
    res.status(200).json({user});
};

usermodel. js как показано ниже

const mongoose = require("mongoose");
const bcrypt = require('bcryptjs');

const userSchema = mongoose.Schema({
    name : {
         type : String,
         required : "Name is required",
         trim : true
    },
    email: {
        type: String,
        required: "Email is required",
        trim : true,
        match: [/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/, 'Please fill a valid email address']
    },
    password: {
        type: String,
        required: "Password is required",
        trim: true
    },
    salt: String,
    created: {
        type: Date,
        default: Date.now
    },
    updated: {
        type: Date
    }

});
userSchema.pre('save',async (next) =>{
    console.log(this);
const salt = await bcrypt.genSalt(10);
this.password = await bcrypt.hash(this.password, salt);
});

module.exports = mongoose.model("users", userSchema);

Я пытался передать req userSchema.pre ('save', asyn c (req, next)), чтобы получить параметры post в модели, но не смог достичь, Может кто-нибудь помочь получить данные поста this.password в usermodel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...