我将使用 Typeform 在 NestJS 框架上执行这么长的查询。请让我知道如何执行此查询。
select user.id, user.fullName, (select count(*) sendCnt from chat where senderId = user.id), (select count(*) recvCnt from chat where receiverId = user.id) from users user where user.role = 'Admin'
我将使用 Typeform 在 NestJS 框架上执行这么长的查询。请让我知道如何执行此查询。
select user.id, user.fullName, (select count(*) sendCnt from chat where senderId = user.id), (select count(*) recvCnt from chat where receiverId = user.id) from users user where user.role = 'Admin'
如果您使用 TypeORM
,则可以使用 @InjectConnection()
注入连接,并使用 query
运行RAW查询,如 TypeORM docs 中所示
const rawData = await connection.query(`SELECT * FROM USERS`);
假设您使用 @nestjs/typeorm
, this.connection
可以通过构造器中的 @InjectConnection()
装饰器获得
@Injectable()
export class FooService {
constructor(@InjectConnection() private readonly connection: Connection) {}
async doSomeQuery() {
return this.connection.query('SELECT * FROM USERS;');
}
}
从NEST V9(以及 @nestjs/typeorm @8中的某个地方,在版本中迟到)Typeorm v0.3.0, @InjectConnection()
被弃用。 @InjectDataSource()
应该使用
您可以使用查询生成器来创建所需的查询 -