我有一個jsonb列有一個實體,嵌套子實體的數據庫表。比方說,我們有:Postgres jsonb_set多個嵌套字段
SELECT jsonb_set('{"top": {"nested": {"leaf" : 1}}}', '{top,nested,leaf}', '2');
哪些工作的優良通過更新top.nested.leaf
到2
但是如果我們想要做的多個領域,比如什麼:
SELECT jsonb_set('{"top": {"nested": {"leaf" : 1}, "other_nested": {"paper": 0}}}', '[{top,nested,leaf}, {top,other_nested,paper}]', '[2, 2]');
的以上不起作用,並說:
ERROR: malformed array literal: "[{top,nested,leaf}, {top,other_nested,paper}]" LINE 1: ...": {"leaf" : 1}, "other_nested": {"paper": 0}}}', '[{top,nes... ^ DETAIL: "[" must introduce explicitly-specified array dimensions.
任何想法?
我也曾嘗試以下操作: '''CREATE TABLE測試(數據jsonb); INSERT INTO test(data)VALUES('{「top」:{「nested」:{「leaf」:1,「paper」:10},「other_nested」:{「paper」:0,「leaf」:0 }}}':: jsonb); UPDATE測試SET數據=數據|| '{「top」:{「nested」:{「leaf」:2},「other_nested」:{「paper」:2}}'; SELECT data FROM test;''' 通過使用連接,這也沒有工作。 – KyleMulder