TypeORM框架(二)

本文详细介绍了TypeORM的Find选项,包括基础和进阶选项,以及实体、主列、特殊列的各种类型。此外,还讨论了列类型、列选项、嵌入实体类、关系(一对一、多对一、一对多、多对多)及其选项。最后,提到了强大的Query Builder的使用。
摘要由CSDN通过智能技术生成

Find 选项-基础选项

所有存储库和管理器find方法都接受可用于查询所需数据的特殊选项,而无需使用QueryBuilder

// select - 表示必须选择对象的哪些属性
userRepository.find({ select: ["firstName", "lastName"] });
// relations - 关系需要加载主体。 也可以加载子关系(join 和 leftJoinAndSelect 的简写)
userRepository.find({ relations: ["profile", "photos", "videos"] });
// join - 需要为实体执行联接,扩展版对的"relations"。
// where -查询实体的简单条件。
userRepository.find({ where: { firstName: "Timber", lastName: "Saw" } });
// 使用 OR 运算符查询:
userRepository.find({
where: [{ firstName: "Timber", lastName: "Saw" }, { firstName: "Stan", lastName: "Lee" }]
});
// order 排序 "ASC" | "DESC" | 1 | -1
userRepository.find({order: {id: "DESC"}});
// 分页
userRepository.find({skip: 5,take: 10});
// cache - 启用或禁用查询结果缓存
userRepository.find({cache: true});

Find 选项-进阶选项

TypeORM 提供了许多内置运算符,可用于创建更复杂的查询

// Not:SELECT * FROM "user" WHERE "firstName" != '张'
const loadedPosts = await userRepository.find({
firstName: Not("张") });
// LessThan:SELECT * FROM "user" WHERE "age" < 10
const loadedPosts = await userRepository.find({
age: LessThan(10) });
// LessThanOrEqual:将执行
SELECT * FROM "user" WHERE "age" <= 10
const loadedPosts = await userRepository.find({
age: LessThanOrEqual(10) });
// MoreThan:SELECT * FROM "user" WHERE "age" > 10
const loadedPosts = await userRepository.find({
age: MoreThan(10) });
// MoreThanOrEqual: SELECT * FROM "user" WHERE "age" > = 10
const loadedPosts = await userRepository.find({
age: MoreThanOrEqual(10) });
// Equal: SELECT * FROM "user" WHERE "age" = 10
const loadedPosts = await userRepository.find({
age: Equal(10) });
// Like:SELECT * FROM "user" WHERE "firstName" LIKE '%
张%'
const loadedPosts = await userRepository.find({
firstName: Like("%张%") });
// Between:
SELECT * FROM "user" WHERE "age" BETWEEN 1 AND 10
const loadedPosts = await userRepository.find({
age: Between(1, 10) });
// In: SELECT * FROM "user" WHERE "age" IN (10,20,30)
const load
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值