用户登录

先打开 comment.service 这个文件,在这里可以定义一个获取评论回复列表用的函数,定义并且导出一个异步函数,函数的名字是 getCommentReplies,让这个函数接收一个 options 参数,参数的类型可以在上面定义一个 interface 描述一下。

定义一个 interface,名字是 GetCommentRepliesOptions ,在里面添加一个 commentId 属性,它的类型是 number,这个 commentId 的值应该是某个评论的 id。

设置一下 options 参数的类型,把它设置成 GetCommentRepliesOptions。

在函数里面先解构一下函数的 options 参数,把 commentId 解构出来。

下面再去准备一段要交给数据仓库执行的查询,声明一个 statement,用一个字符模板组织一段查询,SELECT,在查询结果里选择 comment 的 id,还有 comment 表里的 content,再用一个查询片断,sqlFragment 里的 user,这个属性的值是这条评论的作者相关的数据。

在 FROM 的后面设置数据来源,来源是 comment 数据表,然后再加上一个查询片断,sqlFragment 里的 leftJoinUser,这个查询片断会拼接 user 还有 avatar 数据表。

然后用 WHERE 设置一个查询的条件,条件是 comment 表里的 parentId 栏目的值等于一个指定的值,这个值应该是某条评论的 id,先用一个占位符表示。

在查询里再加上一个 GROUP BY,按 comment.id 分下组。加上这句话主要是因为在查询里拼接了 user 还有 avatar 数据表。

下面再把准备好的这段查询交给数据仓库执行一下,const 方括号,data,把执行结果里的第一个项目结构出来交给 data。等于 await ,用一下 conneciton 上的 promise ,接着继续调用 query 方法,把要执行的查询交给它,这里就是 statement,查询里的占位符值就是 commentId,它是这个函数接收的选项参数里的 commentId 属性的值。

最后再让这个函数提供查询出来的结果,让它 return 上面这个 data,这个 data 里的数据就是某一条评论的回复列表。

定义获取评论回复列表功能《 Node.js 服务端应用开发:资源接口 》

统计

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

社会化网络

关于

微信订阅号

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