{
"L1": [
{
"f1": "446",
"f2": true,
"f3": true
},
{
"f1": "191",
"f2": true,
"f3": true
}
]
}
我想在PostgreSQL中过滤f2为真和f3为真。
您可以使用JSON路径查询来获取两个键都为真的所有元素,然后将其与数组的总长度进行比较:
select ...
from the_table
where jsonb_array_length(the_column -> 'L1') = jsonb_array_length(jsonb_path_query_array(the_column, '$.L1[*] ? (@.f2 == true && @.f3 == true)'))