关于jsonb值的条件

时间:2018-05-25 12:02:17

标签: ruby-on-rails json jsonb

在我的翻译表中,我有 jsonb:values ,我们可以在每个示例中找到: {“en”=>“City”} 我正在尝试获取所有未翻译的翻译, 我试过了:

Translation.where(values.values="")

等等

Translation.all.values.each do |language, translation|
  if translation.empty?
    #here I don't know how to should I do to get all the un-translated 
    #translations without overwriting
end

我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

对于空的json表字段,如Translation.values = {}

Translation.where(values = '{}'")

对于json表字段中的空键,如Translation.values = {“mykey”:“”}

Translation..where("(values-> 'mykey') IS NULL")

PostgreSQL json运算符:https://www.postgresql.org/docs/9.5/static/functions-json.html