首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用typeorm批量插入实体?

如何使用typeorm批量插入实体?
EN

Stack Overflow用户
提问于 2021-04-19 13:41:03
回答 1查看 301关注 0票数 0

我正在尝试弄清楚如何使upsert SQL与typeorm实体一起工作(而不是使用querybuilder!)

代码语言:javascript
运行
复制
const items = Items[] //Items are the entity which extends BaseEntity
await this.repository.save(items)

这可以很好地工作,但当我查看控制台时,它会生成以下SQL:

代码语言:javascript
运行
复制
UPDATE Database.items SET created_at=(something) WHERE id=(something)
UPDATE Database.items SET created_at=(something) WHERE id=(something)
UPDATE Database.items SET created_at=(something) WHERE id=(something)
...

尽管它被START transaction和COMMIT绑定在一起,我想做同样的事情,但不是使用TRANSACTION。

我想要这样的东西:

代码语言:javascript
运行
复制
UPDATE Database.items SET created_at=(something) WHERE id IN (somethings)

如何仅使用typeorm的AbstractRepository来实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2021-04-19 13:58:41

您可以参考文档链接updatequerywheredocs。这应该可以解决您的问题。

代码语言:javascript
运行
复制
import {getConnection} from "typeorm";
const itemIds = [1,2,3];

await getConnection()
.createQueryBuilder()
.update(Item)
.set({ created_at: "something" })
.where("items.id IN (:...ids)", { ids: itemIds })
.execute();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67156494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档