TypeORM:如何选择随机行
在 TypeORM 中,您可以通过将orderBy(‘RANDOM()’) 添加到查询构建器来选择单个或多个随机行。为了更清楚,让我们看下面的几个例子。
假设我们有一个这样的用户实体:
// KindaCode.com
// User entity
import { Entity, PrimaryGeneratedColumn, Column, Unique} from 'typeorm';
@Entity({ name: 'users' })
@Unique(['email'])
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
email: string;
}
获取随机用户:
const userRepository = myDataSource.getRepository(User);
const randomUser = await userRepository
.createQueryBuilder('user')
.select()
.orderBy('RANDOM()')
.getOne();
console.log(randomUser);
检索许多随机用户(将getOne() 替换为getMany()并在 take() 方法中指定所需的结果数):
const userRepository = myDataSource.getRepository(User);
const randomUsers = await userRepository
.createQueryBuilder('user')
.select()
.orderBy('RANDOM()')
.take(10)
.getMany();
console.log(randomUsers);
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。