我很難查詢jsonb數據。我不習慣在postgres中處理jsonb類型。是否有可能在jsonb字段上執行哪裏在?PostgreSQL - 在JSONB中的位置
我有這樣
id | act | act_id | from_ids | object_ids | post_date
2 post 1 {"2":"1494308197"} {"items":["104564"]} 1494308197
數據我試圖做這樣的事情下面找到在from_ids的列,其中ID是關鍵任何標識。
SELECT an.* FROM activity_network an, jsonb_each(an.from_ids) d WHERE d.key->> in ('2');
但顯然這是行不通的。我嘗試了各種形式。
我找到一個類似的question,但它不適合我需要的,因爲它得到的值,我需要key
使用IN
。
不知道如何使用這些jsonb函數。
那麼看看那個。這很簡單。幾個小時一直在敲我的頭。感謝您的快速!如果數組中有多個項目,似乎沒有使用杜松子酒索引。你會碰巧知道這是否可以索引? –
我已經擴展了包含該信息的答案。如果你沒有看到使用的索引,也許PostgreSQL認爲順序掃描更便宜。您可以'SET enable_seqscan = off'來測試是否可以使用索引*。 –