安装body-parser,bcrypt插件
npm install body-parser //解析post数据
npm install bcrypt //加密
server.js
const bodyParser = require("body-parser");
// 使用body-parser中间件
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
moudel下新建数据模型user.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const UserSchema = new Schema({
name:{
type: String,
required: true
},
email:{
type: String,
required: true
},
password:{
type: String,
required: true
},
date:{
type: Date,
default: Date.now
}
})
//插入到users表
module.exports = User = mongoose.model("users",UserSchema);
router/api/user.js新增
const bcrypt = require("bcrypt");//加密
const User = require("../../moudel/user");
// $router POST api/users/register
router.post("/register", (req, res) => {
console.log(req.body)
// 查询数据库中是否已存在
User.findOne({email: req.body.email})
.then((user) => {
if(user){
return res.status(400).json({email:"邮箱已被注册"});
}else{
const newUser = new User({
name: req.body.name,
email: req.body.email,
password: req.body.password
})
//加密
bcrypt.genSalt(10, function(err, salt) {
bcrypt.hash(newUser.password, salt, (err, hash) => {
if(err) throw err;
newUser.password = hash;
newUser.save()
.then(user => res.json(user))
.catch(err => console.log(err));
})
})
}
})
})