node.js - 在 typeorm 中加载急切的表连接
问题描述
我希望能够急切加载用户列表,并急切加载该用户拥有的生物。
这是我的User / Creature / UserCreature
表:
// user.ts
import {
Entity,
PrimaryGeneratedColumn,
Column,
BaseEntity,
OneToMany,
} from "typeorm";
import { UserCreature } from "./userCreature";
@Entity()
export class User extends BaseEntity {
@PrimaryGeneratedColumn()
id!: string;
@Column()
email!: string;
@OneToMany(() => UserCreature, (userCreature) => userCreature.user)
userCreature!: UserCreature[];
}
// creature.ts
import {
Entity,
PrimaryGeneratedColumn,
Column,
BaseEntity,
OneToMany,
} from "typeorm";
import { UserCreature } from "./userCreature";
@Entity()
export class Creature extends BaseEntity {
@PrimaryGeneratedColumn()
id!: string;
@Column()
name!: string;
@OneToMany(() => UserCreature, (userCreature) => userCreature.creature)
userCreature!: UserCreature[];
}
// user_creature.ts
import { Entity, Column, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
import { User } from "./user";
import { Creature } from "./creature";
@Entity()
export class UserCreature {
@PrimaryGeneratedColumn()
public id!: string;
@Column()
public user_id!: string;
@Column()
public creature_id!: string;
@Column()
public is_owned!: boolean;
@ManyToOne(() => User, (user) => user.userCreature)
public user!: User;
@ManyToOne(() => Creature, (creature) => creature.userCreature)
public creature!: Creature;
}
问题是我无法找到一种方法来急切加载用户拥有的用户和生物列表。这是我将如何做到的一个例子sequelize
:
const userCreatures = await User.findAll({
where: {
id: ["1", "2", "3"],
},
include: [
{
as: "my_creatures",
model: Creature,
through: { where: { is_owned: "is_owned" }, attributes: ["name", "id"] },
},
],
distinct: true,
});
现在,我应该如何在 typeorm 中做上述事情?
在此先感谢您的时间。
解决方案
推荐阅读
- python - 为什么on语句创建一个6x6数组而其他创建一个1x6数组python
- inno-setup - 使用 Inno Setup 解压 SFX 文件
- javascript - 无法使用 google API 获取电子邮件的消息内容
- postgresql - Adempiere - 找不到表 AD_System
- javascript - 如何在 foreach 循环中为我的动画文本延迟 .append
- algorithm - 如何将数组索引(整数)存储为 B+树中的键?
- r - 通过仅更改 mutate() 中的一个自变量来拟合多个回归模型
- react-native - Deezer OAuth API:您必须指定有效的 redirect_uri
- javascript - “yoast-seo/related-links”块
- amazon-web-services - 从 AWS com 切换到 route53 的软件,我可以使用什么方法来进行类似的使用,例如 com 包中的 shutdown() 方法