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

mrg*_*tos 3 node.js express graphql typeorm

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

Art*_*sky 19

首先,您需要准备实体实例(它不仅仅是您必须在某个地方制作的对象)

const votesEntities = Vote.create(votes);
Run Code Online (Sandbox Code Playgroud)

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

await Vote.save(votesEntities);
Run Code Online (Sandbox Code Playgroud)

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

async insertVotes(votes) {
  const votesEntities = Vote.create(votes);
  await Vote.insert(votesEntities);
  return votesEntities;
} 
Run Code Online (Sandbox Code Playgroud)