sequelize postgres объединяет fn 'date' со значением jsonb - PullRequest
0 голосов
/ 29 августа 2018

Мне нужно сравнить строку формата MM/DD/YYYY с другой строкой в ​​postgres в столбце jsonb с помощью sequelize.

В обычном столбце я бы сделал что-то вроде

sequelize.where(sequelize.fn('date', sequelize.col('created_at'), '>=', moment().subtract(1, 'days').format('MM/DD/YYY'))),

но как только значение находится в JSONB, я не могу найти способ ссылаться на него.

Я пробовал несколько вариантов:

sequelize.col("data ->> 'created_at'")

sequeliez.json("data.created_at")

и т.д ...

Как правильно это осуществить?

1 Ответ

0 голосов
/ 29 августа 2018

Один способ, которым я наконец-то нашел, как это сделать, это использовать literal

sequelize.where(sequelize.fn('date', sequelize.literal(`data ->> 'created_at'`)), '>=', moment().subtract(1, 'days').format('MM/DD/YYY')))

Это работает найти для меня.

...