首页 > 解决方案 > TypeORM PostgreSQL 选择 JSON 字段等于某个值的位置

问题描述

目标: 编写一个选择查询,返回 state 等于“florida”的所有行。

实体栏:

  @Column({ type: 'json'})
  public address: Address;

示例列值:

{"city": "miami", "state": "florida"}

示例查询(不起作用):

getManager().getRepository(User)
    .createQueryBuilder('user')
    .select()
    .where('user.address.state =:state', {state: "florida"})

typeorm 目前是否支持此功能?如果是这样,我需要如何修改 where 子句以返回正确的行?

标签: postgresqltypeorm

解决方案


得到它的工作。

正确的语法:

.where(`user.address ::jsonb @> \'{"state":"${query.location}"}\'`)

推荐阅读