在 PostgreSQL 的对象数组中添加更多数据
Posted
技术标签:
【中文标题】在 PostgreSQL 的对象数组中添加更多数据【英文标题】:Adding more data in array of object in PostgreSQL 【发布时间】:2022-01-18 08:52:15 【问题描述】:我有一个包含 2 列 (user_num, data) 的购物车表。
user_num
将有用户的电话号码和
data 将有一个对象数组,如[ "id": 1, "quantity": 1 , "id": 2, "quantity": 2 , "id": 3, "quantity": 3 ]
这里id
是产品ID。
user_num | data
----------+--------------------------------------------------------------------------------------
1 | [ "id": 1, "quantity": 1 , "id": 2, "quantity": 2 , "id": 3, "quantity": 3 ]
我想在 PostgreSQL 的上述对象数组中添加更多产品数据。
谢谢!
【问题讨论】:
哪种类型的列数据?是JSON
还是JSONB
?
@Pooya 这是 JSON
【参考方案1】:
要添加值,请使用 JSONB 数组追加运算符 ||
Demo
update
test
set
data = data || '["id": 4, "quantity": 4, "id": 5, "quantity": 5]'
where
user_num = 1;
【讨论】:
还有两个问题,如何删除id为4的对象以及如何编辑数量? 我希望这个示例对您有所帮助。我附加了一个用于更新和删除数组中的属性的示例。 dbfiddle.uk/…以上是关于在 PostgreSQL 的对象数组中添加更多数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Postgresql 中获取数组的 JavaScript/JSON 数组?
在 postgresql、选项数组或对象中插入 jsonb 数据,有效方式