用户登录

用户请求注册帐户的时候,服务端还需要检查要注册的用户名是不是在应用里已经存在了。我们先定义一个可以按用户名查找用户的函数。

把它放在 src/user/user.service 里面。 在这个模块里定义一个按用户名查找用户的服务,导出一个函数,名字叫 getUserByName,把它标记成一个异步函数,函数接收一个 name 参数,类型是 string,这个 name 参数的值就是要查找的用户名。

在函数主体里面,先准备一个查询,添加一个 statement ,用一个字符模板准备一段 SQL,查询可以用 SELECT ,需要 id 还有 name 字段,FROM 来自 user 数据表。再用 WHERE 设置一个条件,条件是 name 字段的值应该等于一个指定的用户名。这里先用 ? 号代替。

下面要执行一下这段 SQL , const 方括号 data, 等于 await ,执行 connection,先用 promise 方法,接着调用 query 方法执行一段 SQL,要执行的是 statement,这段 SQL 里的用了 ? 号,所以在这里要提供它的具体的值,让它作为 query 的第二个参数,这里应该就是 name 这个参数的值。

最后让这个函数提供点数据 return 的是 data 里的第一个项目。在设计 user 数据表的时候,我们限制了让 name 栏目的值必须唯一。所以按用户名查询,得到的这组数据里面就只能出现一个数据项目。最后要让这个函数提供数据,return 的是 data 里的第一个项目,data 是查询数据仓库得到的结果,它会是一个数组,我们需要的是这个数组里的第一个项目。如果没找到结果,那最后提供的这个 data[0] 会是 undefined。

定义按用户名查找用户的服务《 Node.js 服务端应用开发:注册用户 》

统计

13559
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点