Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 虽然验证和注册数据应该显示在mongodb数据库中,但它是否显示此错误?_Node.js_Mongodb_Express_Bcrypt_Nodemon - Fatal编程技术网

Node.js 虽然验证和注册数据应该显示在mongodb数据库中,但它是否显示此错误?

Node.js 虽然验证和注册数据应该显示在mongodb数据库中,但它是否显示此错误?,node.js,mongodb,express,bcrypt,nodemon,Node.js,Mongodb,Express,Bcrypt,Nodemon,这就是我遇到的错误,我也尝试过其他方法,比如用body.email替换email,但它仍然显示相同的错误。我也尝试过包含body解析器,我还重新编写了代码,看看是否有任何打字错误,但没有 const express=require('express'); const router=express.router(); const bcrypt=require('bcryptjs'); const passport=require(‘passport’); //负载用户模型 const User=

这就是我遇到的错误,我也尝试过其他方法,比如用body.email替换email,但它仍然显示相同的错误。我也尝试过包含body解析器,我还重新编写了代码,看看是否有任何打字错误,但没有

const express=require('express');
const router=express.router();
const bcrypt=require('bcryptjs');
const passport=require(‘passport’);
//负载用户模型
const User=require('../models/User');
const{forwardAuthenticated}=require('../config/auth');
//登录页面
router.get('/login',forwardAuthenticated,(req,res)=>res.render('login');
//注册页
router.get('/register',forwardAuthenticated,(req,res)=>res.render('register');
//登记册
路由器.post('/register',(req,res)=>{
const{name,email,password2}=req.body;
让错误=[];
如果(!name | | |!email | |!password | |!password2){
错误。推送({msg:'请输入所有字段'});
}
如果(密码!=密码2){
错误。推送({msg:'密码不匹配'});
}
如果(密码长度<6){
错误。推送({msg:'密码必须至少为6个字符');
}
如果(errors.length>0){
res.render('寄存器'{
错误,
名称
电子邮件,
密码,
密码2
});
}否则{
findOne({email:email})。然后(User=>{
如果(用户){
错误。推送({msg:'电子邮件已存在'});
res.render('寄存器'{
错误,
名称
电子邮件,
密码,
密码2
});
}否则{
const newUser=新用户({
名称
电子邮件,
密码
});
bcrypt.genSalt(10,(错误,盐)=>{
bcrypt.hash(newUser.password,salt,(err,hash)=>{
如果(错误)抛出错误;
newUser.password=hash;
新用户
.save()
。然后(用户=>{
要求闪光(
“成功消息”,
'您现在已注册,可以登录'
);
res.redirect('/users/login');
})
.catch(err=>console.log(err));
});
});
}
});
}
});
//登录
router.post('/login',(req,res,next)=>{
passport.authenticate('local'{
successRedirect:“/dashboard”,
failureRedirect:“/users/login”,
failureFlash:正确
})(req、res、next);
});
//注销
路由器.get('/logout',(req,res)=>{
请求注销();
请求闪存(“成功消息”,“您已注销”);
res.redirect('/users/login');
});
module.exports=路由器欢迎使用StackOverflow。代码段只能与其他用户可以直接在浏览器中运行的代码一起使用。