Поиск TypeORM в БД PostgreSQL

Рейтинг: 1Ответов: 1Опубликовано: 20.02.2023

Всем привет!

Подскажите, возможно ли средствами TypeORM в Nest.js выполнить запрос на поиск, чтобы он нашел все статусы "Closed" в БД. Пробовал через .findAndCount (для пагинации) строить запрос, но никак не пойму сути.

p.s. рабочий запрос из PosgreSQL:

SELECT "status" FROM public.order WHERE "status" @> '[{"status":"Closed"}]';

p.p.s.

Сущность в PostgreSQL: таблица - "Order"; колонка - "Status":

    [
      {
        "status": "Closed",
        "createdAt": "2023-02-14T14:09:26.322Z"
      }
    ]

Ответы

▲ 1Принят

Оператор Like

import {Like} from 'typeorm';

const res = await connection.getRepository(Order).findAndCount({
    where: {
        status: Like("%Closed%")
    }
});

Либо

const res = await dataSource
    .getRepository(Order)
    .createQueryBuilder("order")
    .where("order.status like 'Closed'")
    .getMany();