繁体   English   中英

如何使用where子句查询rails中的jsob列

[英]How to query jsob column in rails using where clause

我正在尝试获取字段不是 null 的记录。

例如,我的表中有一个 jsonb 列,如下所示

job_metadata jsonb DEFAULT '{}'::jsonb NOT NULL

我想获取 key enqued_at 的 job_metadata hash 的记录,这些记录不是 null。

我试过类似的东西

TimeBox.where.not('job_metadata @> ?', '{"enqueued_at": nil}')

但我得到了这样的错误

PG::InvalidTextRepresentation: ERROR:  invalid input syntax for type json
LINE 1: ... 38, 39, 40, 51, 52, 53, 32) AND (job_metadata @> '{"enqueued_at...

如何修复错误,或者如何获取 job_metadata -> enqueued_at 不应该为 nil 的记录?

这应该有效。

TimeBox.where("(job_metadata->'enqueued_at') is not null")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM