【发布时间】:2020-10-26 20:16:01
【问题描述】:
this.sampleRepo.find(
{
order: {
id: "DESC"
},
select: ['id','group']
}
);
这会按预期返回id 和group,但是如何将id 作为user_id 返回?
以及如何从组中选择不同的值?
【问题讨论】:
-
1) id as user_id:目前您不能或至少不能将值映射为实体类的列名。见@Column装饰器name选项。
-
我看到了列名选项,但正在考虑如果您需要在两个不同的 api 中发送两个不同的名称该怎么办,例如在 api A 中,我想在 api B 中将 id 作为用户 ID 发送,我想将 id 作为 id 发送。列名装饰器在这里无济于事。
-
2) 您必须使用 QueryBuilder。有一个未解决的问题,请参阅 this,为实体管理器查找选项添加 distinct。
-
您想要重新映射吗?为此: 1) 查找数组中的所有实体 2) Map 数组以重命名标识 -> 请注意,这是一个非常糟糕的过程,因为它具有 O(n) 复杂性并减少了 API 的正确语义。我强烈建议选择一种标识符以避免效率问题和更多未来问题。
-
生产标识符将是一个,我只是要求学习如何在需要时做事。