Questions tagged «jsonb»


9
如何在Postgres 9.4中对JSONB类型的列执行更新操作
查看Postgres 9.4数据类型JSONB的文档,对我来说,如何立即对JSONB列进行更新并不是很明显。 JSONB类型和功能的文档: http://www.postgresql.org/docs/9.4/static/functions-json.html http://www.postgresql.org/docs/9.4/static/datatype-json.html 作为示例,我具有以下基本表结构: CREATE TABLE test(id serial, data jsonb); 插入很容易,如: INSERT INTO test(data) values ('{"name": "my-name", "tags": ["tag1", "tag2"]}'); 现在,我将如何更新“数据”列?这是无效的语法: UPDATE test SET data->'name' = 'my-other-name' WHERE id = 1; 这是我错过的明显地方吗?谢谢。

3
查询JSON类型内的数组元素
我正在尝试测试jsonPostgreSQL 9.3中的类型。 我在json名为data的表中有一个列reports。JSON看起来像这样: { "objects": [ {"src":"foo.png"}, {"src":"bar.png"} ], "background":"background.png" } 我想查询表中所有与“对象”数组中“ src”值匹配的报告。例如,是否可以在数据库中查询所有匹配的报告'src' = 'foo.png'?我成功地写了一个查询,可以匹配"background": SELECT data AS data FROM reports where data->>'background' = 'background.png' 但是由于"objects"具有一组值,所以我似乎无法编写出有效的东西。是否可以在数据库中查询所有匹配的报告'src' = 'foo.png'?我已经查看了这些来源,但仍然无法了解: http://www.postgresql.org/docs/9.3/static/functions-json.html 如何使用新的PostgreSQL JSON数据类型内的字段进行查询? http://michael.otacoo.com/postgresql-2/postgres-9-3-feature-highlight-json-operators/ 我也尝试过类似的方法,但无济于事: SELECT json_array_elements(data->'objects') AS data from reports WHERE data->>'src' = 'foo.png'; 我不是SQL专家,所以我不知道我做错了什么。
118 sql  json  postgresql  jsonb  lateral 

1
用于在JSON数组中查找元素的索引
我有一个看起来像这样的表: CREATE TABLE tracks (id SERIAL, artists JSON); INSERT INTO tracks (id, artists) VALUES (1, '[{"name": "blink-182"}]'); INSERT INTO tracks (id, artists) VALUES (2, '[{"name": "The Dirty Heads"}, {"name": "Louis Richards"}]'); 还有其他几列与此问题无关。将它们存储为JSON是有原因的。 我想做的是查找具有特定艺术家姓名(精确匹配)的曲目。 我正在使用此查询: SELECT * FROM tracks WHERE 'ARTIST NAME' IN (SELECT value->>'name' FROM json_array_elements(artists)) 例如 SELECT * FROM …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.