将 json 对象附加到 json 数组
Append a json object to a json array
我在数据库中有一个类型为 json 的列。它的默认值为 [].
我正在尝试向其附加一个 json 对象,每次更新时都会附加另一个 json 对象。
数据进来
{"name":"foo", "timestamp": 123}
数据库中的新值应该是:
[{"name":"foo", "timestamp": 123}]
行的另一个更新:
{"name":"john", "timestamp": 234}
行中的更新值现在应为:
[{"name":"foo", "timestamp": 123},{"name":"john", "timestamp": 234}]
我试过了:
NEW."dryWeight" = OLD."dryWeight" || NEW."dryWeight";
||
运算符需要右边的数组,如果
左边也是一个数组
update the_table
set the_column = the_column || '[{"name":"bar", "timestamp": 234}]'
where ...;
||
仅适用于 jsonb
,不适用于“普通”json
我在数据库中有一个类型为 json 的列。它的默认值为 [].
我正在尝试向其附加一个 json 对象,每次更新时都会附加另一个 json 对象。
数据进来
{"name":"foo", "timestamp": 123}
数据库中的新值应该是:
[{"name":"foo", "timestamp": 123}]
行的另一个更新:
{"name":"john", "timestamp": 234}
行中的更新值现在应为:
[{"name":"foo", "timestamp": 123},{"name":"john", "timestamp": 234}]
我试过了:
NEW."dryWeight" = OLD."dryWeight" || NEW."dryWeight";
||
运算符需要右边的数组,如果
左边也是一个数组
update the_table
set the_column = the_column || '[{"name":"bar", "timestamp": 234}]'
where ...;
||
仅适用于 jsonb
,不适用于“普通”json