我需要使用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")
等...
实现此目标的正确方法是什么?
答案 0 :(得分:2)
我终于找到方法的一种方法是使用literal
sequelize.where(sequelize.fn('date', sequelize.literal(`data ->> 'created_at'`)), '>=', moment().subtract(1, 'days').format('MM/DD/YYY')))
这个作品适合我。