如何解决试图从数据库nodejs / sqlite
我正在为我的应用程序设计一个登录原型,在后端,我试图从前端接收信息(电子邮件和密码),以便与数据库中的注册信息进行比较并验证用户登录。
这就是我所做的
const infos = request.query;
const email = infos.email as string; // email input frontend
const password = infos.password as string; // password input frontend
const checkLogin = await db('usersLoginsDB') // catching equal from database
.where('usersLoginsDB.email','=',email)
.where('usersLoginsDB.password',password)
.select('usersLoginsDB.email','email')
.select('usersLoginsDB.password','password')
在此之后,我有一个checkLogin,类型为any [],并带有电子邮件和密码,并且我无法执行诸如checkLogin.email之类的操作来使用此信息。
我尝试过这种方法,并且很有效
let resultEmail = checkLogin.map(a => a.email) as unknown;
let testEmail = resultEmail as string;
但是我不确定这是正确的,我想知道是否还有另一种方法可以使checkLogin.email正常工作,或者以其他方式从数据库中获取电子邮件信息。而不是使用.where和.select。 预先感谢。
解决方法
可能结帐knex或任何其他查询生成器。您无需一次查询所有内容。您可以通过简单的步骤进行操作:
- 查询dB来检查用户电子邮件是否存在,是否不会引发错误。
- 如果存在用户电子邮件,则现在需要验证密码。查询数据库以进行验证。
- 如果一切顺利,则可以登录用户。例如,如果您具有JWT设置,则将令牌发送回用户。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。