我在Postgres上放置了数据库架构,json
类型的列出现了如下问题:
@Column({
type: 'jsonb',
nullable: false,
default: []
})
users: Array<User>
当我尝试将新元素压入这个数组时,如下所示:
await this.entityManager.getRepository(Project)
.createQueryBuilder('project')
.update()
.set({
users: () => `array_append('users', ${JSON.stringify({ name: user.firstname })}::jsonb)`
}).execute();
编译器抛出这个错误:
QueryFailedError: syntax error at or near "{"
SQL查询:query:
UPDATE "project" SET "users" = array_append('deployments', {"name":"Andrzej"}::jsonb) WHERE project.id = $3`
有人能告诉我如何在Postgres中正确地将新元素推到数组中吗?谢谢任何帮助!
1条答案
按热度按时间67up9zun1#
根据错误:你需要单引号的json。
修复后,您的代码将如下所示:
您的SQL查询将如下所示: