簡體   English   中英

LIKE 在 JSONB 列中的對象數組中

[英]LIKE in Array of Objects in JSONB column

我在 Postgres 列中有 JSONB 數據,如下所示:

{
  "Id": "5c6d3210-1def-489b-badd-2bcc4a1cda28",
  "Name": "Jane Doe",
  "Tags": [
    {
      "Key": "Project",
      "Value": "1004345"
    }
  ]
}

如何查詢名稱包含“Jane”或“Tags.Key”包含“4345”的數據?

我試過了,但這只匹配確切的“鍵”值:

select * from documents where data->'Tags' @> '[{ "Value":"1004345"}]';

您可以通過like_regex使用JSON 路徑運算符

select *
from documents
where data @@ '$.Tags[*].Value like_regex "4345"'
  • 你可以這樣做
select *
from documents
where 'Tags' ->> 'Value' = '1004345';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM