Javascript 如何使用mongoDB获取mongoose中的特定对象?
所以我有一个问题,我想用我在EJS中创建的表单登录我的用户。 我遇到的问题是,在注册用户后,我无法让他们登录,因为我不知道如何使用。 注册记录保存到MongoDB,所以这应该不是问题 以下是我想做的:Javascript 如何使用mongoDB获取mongoose中的特定对象?,javascript,mongodb,express,mongoose,Javascript,Mongodb,Express,Mongoose,所以我有一个问题,我想用我在EJS中创建的表单登录我的用户。 我遇到的问题是,在注册用户后,我无法让他们登录,因为我不知道如何使用。 注册记录保存到MongoDB,所以这应该不是问题 以下是我想做的: 从EJS表单获取用户的电子邮件地址 从EJS表单获取用户的密码 检查密码和电子邮件是否匹配 用一条简单的“Hello${User.name}”消息让他们登录 这是我的 路由/login.js文件 //路由/login.js const express=require('express'); c
- 从EJS表单获取用户的电子邮件地址
- 从EJS表单获取用户的密码
- 检查密码和电子邮件是否匹配
- 用一条简单的“Hello${User.name}”消息让他们登录
//路由/login.js
const express=require('express');
const router=express.router();
const mongoose=require('mongoose');
const User=require('../models/User');
路由器.get(“/”,(请求,res)=>{
res.render(“页面/登录”);
});
router.post(“/”,(请求、恢复、下一步)=>{
const email=User.find({})
const pass=User.find({password:req.body.password});
if(通过!=请求正文密码){
res.json({
错误:“密码不正确”
});
}否则{
user.findOne(电子邮件)
.exec()
.then(doc=>res.send(doc).json({
详细信息:“以“+`${User.name}身份登录”`
}))
.catch(err=>{console.log(err);res.send(“Error”)})
}
})
module.exports=路由器;
models/user.js模型
const mongoose=require('mongoose');
const userSchema=mongoose.Schema({
_id:mongoose.Schema.Types.ObjectId,
名称:String,
电子邮件:String,
密码:String
})
module.exports=mongoose.model('Account',userSchema);
和视图/partials/regform.ejs文件
电子邮件地址
密码
感谢您抽出时间阅读此问题。我的问题的解决方案如下。
//login.js
const express=require('express');
const router=express.router();
const mongoose=require('mongoose');
const User=require('../models/User');
路由器.get(“/”,(请求,res)=>{
res.render(“页面/登录”);
});
路由器.post('/',异步(请求,恢复)=>{
让用户;
试一试{
user=wait user.findOne({email:req.body.email,密码:req.body.password})
}捕获(e){
控制台错误(e)
}
如果(用户){
json({LOGGED_IN_AS:user});
}否则{
json({error:“Some error message”});
}
})
module.exports=路由器;
我的问题的解决方案如下。
//login.js
const express=require('express');
const router=express.router();
const mongoose=require('mongoose');
const User=require('../models/User');
路由器.get(“/”,(请求,res)=>{
res.render(“页面/登录”);
});
路由器.post('/',异步(请求,恢复)=>{
让用户;
试一试{
user=wait user.findOne({email:req.body.email,密码:req.body.password})
}捕获(e){
控制台错误(e)
}
如果(用户){
json({LOGGED_IN_AS:user});
}否则{
json({error:“Some error message”});
}
})
module.exports=路由器;