Ruby on rails Rails:如何检查jsonb列是否为空Postgres
当我的表的jsonb列为空时,我在检查时遇到问题 My column方向为空时有值“{}” 尝试了以下方法Ruby on rails Rails:如何检查jsonb列是否为空Postgres,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,当我的表的jsonb列为空时,我在检查时遇到问题 My column方向为空时有值“{}” 尝试了以下方法 Model.where("directions != '{}'") <- brings all Model.where("directions <@ '{}'") <- brings all Model.where(“directions!='{}')尝试使用否定查询。而不是: Model.where.not("directions = '{}'") Model.wh
Model.where("directions != '{}'") <- brings all
Model.where("directions <@ '{}'") <- brings all
Model.where(“directions!='{}')尝试使用否定查询。而不是:
Model.where.not("directions = '{}'")
Model.where(“directions!='{}')
应该可以工作,但是Model.where.not(directions:'{}')
感觉更像是讽刺(但是是等效的)。如果这些查询返回您的所有数据,那么您确定其中有实际方向数据的实例吗?@Frost唯一有效的语法是Model.where.not(方向:'{}')
。回答您的问题,是的,我有两个案例记录。我同意Petros的观点,这在2017年和Rails 4中是无效的语法。错误:运算符不存在:json未知
@philpirozhkov必须检查在这4-5年中是否有变化:)
Model.where.not(directions: '{}')
Model.where.not("directions::text = ?", "{}")