如何检查用户是否存在?

时间:2018-09-30 10:08:13

标签: javascript node.js mongodb mongoose

我正在尝试检查尝试登录的用户的凭据。即使我输入了数据库中已经存在的正确凭据,我仍得到“未找到用户”的输出。下面是代码片段。希望您能提供帮助。请具体说明,因为我是初学者,而且我正在努力。谢谢。

partitionBy

https://github.com/tahseen09/login

1 个答案:

答案 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)。

您应该记住,这只是理解逻辑的一个示例。在生产中,您应该做更多工作,例如验证表单,带有盐的哈希密码和派生函数等。