typeorm postgres выберите, где поле json равно некоторому значению - PullRequest
0 голосов
/ 15 октября 2018

Цель: написать запрос на выборку, который возвращает все строки, в которых состояние равно «Флорида».

Столбец объекта:

  @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, чтобы оно возвращало правильные строки?

1 Ответ

0 голосов
/ 15 октября 2018

Работает.

Правильный синтаксис:

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