【发布时间】:2021-09-01 22:24:18
【问题描述】:
我对查询和 Where 运算符有一些疑问。
所以实体是:
@Entity('clients')
@Index(['id', 'slug'], { unique: true })
export class Client extends BaseEntity {
@ObjectIdColumn()
id: ObjectID;
@Column()
slug: string;
@Column()
title: string;
@CreateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP(6)' })
createdAt: Date;
@UpdateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP(6)', onUpdate: 'CURRENT_TIMESTAMP(6)' })
updatedAt: Date;
@Column({ default: false })
isVisible: boolean;
@OneToOne(() => PublicFile, { eager: true })
@JoinColumn()
logo?: PublicFile;
}
控制器方法:
@Get()
async getClients(@Query() query): Promise<Client[]> {
return await this.clientsRepository.find({
select: ['id', 'slug', 'title', 'isVisible', 'createdAt', 'updatedAt'],
where: { isVisible: query.visible ? Like('true') : Any([true, false]) },
relations: ['logo'],
order: {
updatedAt: 'DESC'
}
});
}
然后我尝试使用 url:/clients?visible=true 获取客户列表,然后我得到空数组
当我得到/clients 时,我也得到空数组
有没有正确的方法来使用查询以及在哪里?
【问题讨论】:
标签: typescript mongodb nestjs typeorm