如何在postgres jsonb列中搜索特定的键值?

问题描述

我想获取输入中收到的具有特定键-值对的所有行。对于。例如考虑以下数据:-

CREATE TABLE places(id int,place jsonb) ;
insert into places values (1,'{"country": {"name": "Brazil","speak_portuguese": true,"river": "amazon"}}');
insert into places values (2,'{"name": "USA","speak_portuguese": false,"river": "missisipi"}');
insert into places values (3,'{"continent": "South America","river": "amazon"}');

表数据如下:-

enter image description here

现在,如果我输入的值低于键值,则结果中应该出现行1和3,因为键值对出现在行1和3中。

{
  "speaks_portuguese": true,"river": "amazon"
}

我正在尝试使用jsonb_path_exists,但是很难。有人可以帮忙吗?

注意:键可以出现在任何嵌套级别(例如country-> state-> city等),并且一行可以包含多个位置的数据。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)