前提
创建一个实体的类:
import { Column } from 'typeorm';
@Entity()
export class User extends BaseEntity{
...
@PrimaryColumn()
id: number
@Column()
firstName: string
...
}
find()
查找返回一个数组。
const timbers = await User.find({ firstName: "Timber" });
Find选项中文文档链接:Find选项
findOne()
查找数据库中的一条记录,默认传数字,根据id查询,可传options查询参数对象。
findOne(id?: string | number | Date | ObjectID, options?: FindOneOptions<Entity>): Promise<Entity | undefined>;
findOne(options?: FindOneOptions<Entity>): Promise<Entity | undefined>;
findOne(conditions?: FindConditions<Entity>, options?: FindOneOptions<Entity>): Promise<Entity | undefined>;
// 示例
const user = await User.findOne(1);
const timber = await User.findOne({ firstName: "Timber" });
findAndCount()
查找指定条件的实体,并计算与给定条件匹配的所有实体数量,但忽略分页设置(from和take选项),返回[data, count]
。
const [timbers, timbersCount] = await User.findAndCount({ firstName: "Timber" });
findByIds([id1, id2])
根据[id1, id2]ID数组查找多个实体。
const users = await User.findByIds([1, 2, 3]);
findOneOrFail()
查找匹配某些ID或查找选项的第一个实体。如果没有匹配,则Rejects一个promise。
const user = await User.findOneOrFail(1);
const timber = await User.findOneOrFail({ firstName: "Timber" });
参考文章:
链接1: TypeORM中文文档’EntityManager’API
链接2: typeorm实战之findOne()方法
链接3:实体管理器和实体仓库上的查询方法