我正在尝试检查尝试登录的用户的凭据。即使我输入了数据库中已经存在的正确凭据,我仍得到“未找到用户”的输出。下面是代码片段。希望您能提供帮助。请具体说明,因为我是初学者,而且我正在努力。谢谢。
partitionBy
答案 0 :(得分:1)
您的代码应该可以使用。
您需要检查问题是否出在其他地方。
一个例子:
var User = require('pathToUserModel');
app.post('/login', function(req, res) {
User.findOne({
uname: req.body.uname,
password: req.body.password
}, function(err, user) {
if (err) { return res.status(500).send(err); }
if (!user) { return res.status(200).send("User not found"); }
return res.status(200).send("You are logged in succesfully.");
}
});
});
<form action="/login" method="POST">
<input type="text" name="email" placeholder="your email">
<input type="password" name="password" placeholder="your password">
<input type="submit" value="submit">
</form>
mongo
您需要检查用户是否存储在数据库中,否则将无法使用。为此,您可以在命令行中访问数据库:
use nameOfYourDB
nameOfYourDB
,您需要用数据库名称替换db.users.find()
mongod
:用户是您收藏的名称然后您可以查看存储在数据库中的内容。
您的数据库也应使用require('mongoose').connect('mongodb://127.0.0.1/nameofYourDB', { /* options */ });
在系统上启动,并且您的应用程序应使用类似layout_margin
的方式连接到数据库(仍然需要替换nameOfYourDB)。
您应该记住,这只是理解逻辑的一个示例。在生产中,您应该做更多工作,例如验证表单,带有盐的哈希密码和派生函数等。