sequelize postgres将fn'date'与jsonb值结合起来

时间:2018-08-29 16:28:21

标签: postgresql sequelize.js jsonb

我需要使用sequelize将格式MM/DD/YYYY的字符串与jsonb列上的postgres中的另一个字符串进行比较。

在常规列上,我会做类似的事情

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 :(得分:2)

我终于找到方法的一种方法是使用literal

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

这个作品适合我。