我想在Postgres用jsonb来解决问题.这里有很多问题,我想做的是:
SELECT table.column->>'key_1' as a FROM "table"
我试过 – >还有一些括号的组合,但我总是得到一个零.
所以我试图先获取所有键,看看它是否甚至识别jsonb.
SELECT jsonb_object_keys(table.column) as a FROM "table"
cannot call jsonb_object_keys on a scalar
所以,检查列类型(我创建的,所以我知道它是jsonb,但无论如何)
SELECT pg_typeof(column) as a FROM "table" ORDER BY "table"."id" ASC LIMIT 1
这正确地给了我“jsonb”的结果.
列中的值类似于{“key_1”:“纽约”,“key_2”:“键值”,“key_3”:“美国”}
所以,我真的很困惑这里实际发生了什么,为什么它将我的json数据称为标量?它实际意味着什么以及如何解决这个问题?
在这方面的任何帮助将非常有帮助.
PS:我正在使用rails,将此作为问题的一般问题发布.任何特定于轨道的解决方案也可以.