typescript - 使用 NestJs Sequelize 的子查询
问题描述
我有两个模型User
和Book
. Book
包含数据库中名为 的字段borrower_id
,它是 的外键User
。
在我的UserRepository
中,我想从我的数据库中获取所有有User
资格借用Book
.
符合条件User
的是借书User
少于3册。
等效的 SQL 查询将是:select * from users where (select count(*) from book where borrower_id = 444) < 3
这是我的用户存储库:
@Injectable()
export class UserRepository {
public async getAll(): Promise<User[]> {
return User.findAll({include: Address});
}
public async getEligible(): Promise<User[]> {
return null; // The code to replace
}
}
还有我的书模型:
@Table({tableName: 'BOOK'})
export class Book extends BaseModel<Book> {
@Column({field: 'TITLE'})
title: string
@Column({field: 'DESCRIPTION'})
description: string
@ForeignKey(() => User)
@Column({field: 'BORROWER_ID'})
borrowerId: number
}
我不知道如何将我的查询翻译成这种形式。我需要Book.findAll()
用一些参数调用我的之前吗?或者有没有办法做到这一点User
?
谢谢
解决方案
推荐阅读
- android-studio - Kotlin - menuInflater 找不到 xml 文件的引用
- javascript - 以编程方式选择浏览器中未更新的选项
- python - 为向量创建索引时,“列表”对象不可调用
- java - SpringBoot:如何使用 Wrapper Class 将两个 JSON pojo 绑定到两个单独的对象中并将它们保存到我的数据库中?
- amazon-web-services - 使用clojure调用aws lambda函数的空指针异常?
- typescript - Typescript中带有参数的动态键
- javascript - 在页面上以表格格式显示存储在 SharePoint 列表中的数据,并在页面上的表格列上放置过滤器以过滤数据
- python - Django3 - 使用上下文处理器填充导航栏项目 SQlite DB 数据的问题
- python - 每次在 tkinter 中将文本插入文本框时,如何添加间距?
- google-custom-search - 使用 Google 自定义搜索 JSON 在多个站点中搜索