คำถามติดแท็ก jsonb

9
คำอธิบายของ JSONB นำเสนอโดย PostgreSQL
PostgreSQL แนะนำเพียงJSONBและมันมีอยู่แล้วได้รับความนิยมในข่าวแฮ็กเกอร์ มันจะดีถ้ามีใครสามารถอธิบายได้ว่ามันแตกต่างจาก Hstore และ JSON ก่อนหน้านี้ใน PostgreSQL อะไรคือข้อดีและข้อ จำกัด ของมันและเมื่อมีคนควรพิจารณาใช้มัน?

9
วิธีดำเนินการอัปเดตคอลัมน์ประเภท JSONB ใน Postgres 9.4
เมื่อดูเอกสารสำหรับ 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"]}'); ตอนนี้ฉันจะอัปเดตคอลัมน์ 'data' ได้อย่างไร? นี่เป็นไวยากรณ์ที่ไม่ถูกต้อง: UPDATE test SET data->'name' = 'my-other-name' WHERE id = 1; นี่เป็นเอกสารที่ชัดเจนว่าฉันพลาดไปหรือไม่? ขอบคุณ

3
ค้นหาองค์ประกอบอาร์เรย์ภายในประเภท JSON
ฉันกำลังพยายามทดสอบjsonประเภทใน PostgreSQL 9.3 ฉันมีjsonคอลัมน์ที่เรียกว่าในตารางที่เรียกว่าdata reportsJSON มีลักษณะดังนี้: { "objects": [ {"src":"foo.png"}, {"src":"bar.png"} ], "background":"background.png" } ฉันต้องการสอบถามตารางสำหรับรายงานทั้งหมดที่ตรงกับค่า "src" ในอาร์เรย์ "วัตถุ" ยกตัวอย่างเช่นมันเป็นไปได้ที่จะสอบถาม DB สำหรับรายงานทั้งหมดที่จับคู่'src' = 'foo.png'? ฉันเขียนข้อความค้นหาที่ตรงกับ"background": SELECT data AS data FROM reports where data->>'background' = 'background.png' แต่เนื่องจาก"objects"มีอาร์เรย์ของค่าดูเหมือนว่าฉันจะเขียนสิ่งที่ใช้งานไม่ได้ มันเป็นไปได้ที่จะสอบถาม DB สำหรับรายงานทั้งหมดที่จับคู่'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/ ฉันได้ลองทำสิ่งนี้เช่นกัน แต่ไม่มีประโยชน์: …
118 sql  json  postgresql  jsonb  lateral 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.