如何插入多个实体并在 TypeORM 中返回它们

Posted

技术标签:

【中文标题】如何插入多个实体并在 TypeORM 中返回它们【英文标题】:How do insert multiple entities and return them in TypeORM 【发布时间】:2021-02-10 04:01:20 【问题描述】:

假设我有一个投票实体。我想同时插入一个有 5 票的数组并返回它们。我已经尝试过: await Vote.save(votes) 但这不起作用,它也不会返回它们。有什么想法吗?

【问题讨论】:

【参考方案1】:

首先你需要准备实体实例(它不仅仅是你可能在某个地方制作的对象)

const votesEntities = Vote.create(votes);

然后你可以保存这些实体:

await Vote.save(votesEntities);

但我建议使用insert 而不是save (因为save 为每个实体对DB 形成单独的查询) 并返回先前准备好的实体。最终的样子:

async insertVotes(votes) 
  const votesEntities = Vote.create(votes);
  await Vote.insert(votesEntities);
  return votesEntities;
 

【讨论】:

以上是关于如何插入多个实体并在 TypeORM 中返回它们的主要内容,如果未能解决你的问题,请参考以下文章

如何从控制器 JSON 返回的实体字段中排除。 NestJS + Typeorm

TypeORM:如何实现双向关系,多个字段 --> 一种实体类型

如何在 TypeORM 中使用具有自动递增 id 列的表进行级联插入

如何从 typeorm postgreSQL 中获取软删除的实体?

如何使用返回多个项目的 TypeORM 设置 Nestjs 查询?

如何检查字符串中的字符并在插入之前替换该字符