【发布时间】:2021-05-30 04:28:00
【问题描述】:
我想批量处理insert 或update if exists 行在事先不知道行的id(如果存在)的情况下。我正在使用TypeORM。在这种情况下,我想update 存在uniqueKey 的行与一个新的title 和insert 不存在。
const data = [
{title: 'New Title', user: 123, uniqueKey: 'abc'},
{title: 'Another New Title', user: 123, uniqueKey: 'xyz' }
]
await repo
.createQueryBuilder()
.insert()
.into(Posts)
.values(data)
.orUpdate({ conflict_target: ['uniqueKey'], overwrite: ['title'] })
.execute();
上面抛出错误:
Error: Cannot update entity because entity id is not set in the entity.
如果有更好的方法来批量处理upsert,欢迎提出建议。
【问题讨论】: