导航菜单

Nest.js学习之路(20)-TypeORM(7)Query Builder Select(下)

凯时娱乐账号

  这一章关于QueryBuilder会用的功能做介绍主要是

分页

选择零件属性

隐藏属性

有三个变量可用于创建新的queryUserDTO

在user.service.ts

中添加getUsersByRoleName

使用Postman测试

2018111407.png

有时您不希望公开所有属性,您可以使用select来过滤,当然,还有一个objectmapping套件将一些属性映射到新类。但首先选择一些属性作为示例,假设您只需要名称和roleName,其他像平台则不需要

使用邮递员测试

2018111408.png

原因是]有SELECTu.id,其中TypeORM不是自动生成的,但是]有,所以你必须自己添加,或者直接选择

添加u.id

进行选择

使用邮递员测试

2018111409.png

如果有一个属性大部分时间都不想被选中,只会使用少数几种情况,typeorm提供了隐藏属性的概念,selectentity或者在QueryBuilder中不会选择Repositoryfind预设,你需要在财产集。例如UserEntity的密码属性

在user.entity下添加密码属性

使用邮递员测试,您会发现所有返回的用户都没有密码属性

那么如何让密码出现在查询中?

修改查询,添加addSelect以显示密码

使用邮递员测试

2018111410.png

密码属性出现

推荐我的公共号码: [geekjc],微信号: [c8706288]学习交流编程知识,分享经验和各种有趣的事情。

Tuiguang.png