【发布时间】:2021-03-06 18:53:48
【问题描述】:
当使用Repository.save(myEntity)时,如何确保TypeOrm只返回实体本身而不是它的关系?
给定这个示例实体
@Entity()
export class Flavor {
@ManyToMany(
type => Coffee,
coffee => coffee.flavors,
)
coffees: Coffee[];
}
@Entity()
export class Coffee {
@JoinTable()
@ManyToMany(
type => Flavor,
flavor => flavor.coffees,
)
flavors: Flavor[];
}
还有这个示例服务
async create(createCoffeeDto: CreateCoffeeDto) {
const flavors = await Promise.all(
createCoffeeDto.flavors.map(name => this.preloadFlavorByName(name)),
);
const coffee = this.coffeeRepository.create({
...createCoffeeDto,
flavors,
});
return this.coffeeRepository.save(coffee);
}
如何过滤响应,使其仅返回 Coffee 实体而不返回 Flavor 实体。例如这个
{
"id": 0,
"name": "string",
"brand": "string",
"recommendations": 0,
}
不是这个
{
"id": 0,
"name": "string",
"brand": "string",
"recommendations": 0,
"flavors": [
{
"id": 0,
"name": "string",
"coffees": [
null
]
}
]
}
【问题讨论】: