Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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
Javascript 如何使用mongoDB获取mongoose中的特定对象?_Javascript_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript 如何使用mongoDB获取mongoose中的特定对象?

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中创建的表单登录我的用户。 我遇到的问题是,在注册用户后,我无法让他们登录,因为我不知道如何使用。 注册记录保存到MongoDB,所以这应该不是问题 以下是我想做的:

  • 从EJS表单获取用户的电子邮件地址
  • 从EJS表单获取用户的密码
  • 检查密码和电子邮件是否匹配
  • 用一条简单的“Hello${User.name}”消息让他们登录
这是我的

路由/login.js文件

//路由/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=路由器;