【发布时间】:2020-12-15 18:38:57
【问题描述】:
我正在为我的应用程序做一个登录原型,在后端我试图从前端接收信息(电子邮件和密码),以与数据库中的注册信息进行比较并验证用户登录。
这就是我所做的
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。 提前致谢。
【问题讨论】:
-
你的
db是什么?它有查询类型吗?
标签: node.js typescript sqlite express backend