我有一个表:“events”和jsonb列“logs”。
用以下日志记录事件:
[
{state: "something", recorded_at: "some-timestamp"},
{state: "other", recorded_at: "some-other-timestamp"},
{nothing: "interesting", recorded_at: "timestamp"}
]
我要执行此查询:
选择带有已筛选出不带“state”键的条目的日志的记录
我并不想构造where查询条件,我只想过滤掉返回结果中的“日志”。
怎么做?
1条答案
按热度按时间6fe3ivhb1#
去获取那些
logs
对象有键'state'
,您可以使用not exists
以及jsonb_array_elements()
:另一方面,如果您不希望筛选出记录,而是希望筛选出具有键的嵌套json对象
'state'
: