PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

एक रेल क्षेत्र जो JSON ऑब्जेक्ट्स की एक सरणी है?

जैसा कि आप पोस्टग्रेज का उपयोग कर रहे हैं, आप भाग्य में हैं:पोस्टग्रेज में एक देशी जेसन प्रकार। डेटा को एन्कोडेड स्ट्रिंग के कुछ रूपों के रूप में स्टोर करने के लिए सीरियलाइज का उपयोग करने से यह बेहतर तरीका है, क्योंकि पोस्टग्रेज में ऑपरेटरों का एक समृद्ध परिवार होता है जो आपको उस जेसन डेटा के खिलाफ पूछताछ करने की अनुमति देता है।

यदि आप 9.4 पोस्टग्रेज का उपयोग कर रहे हैं तो आप jsonb प्रकार का भी उपयोग कर सकते हैं। यह आम तौर पर बेहतर होता है क्योंकि यह डेटा के संसाधित संस्करण को संग्रहीत करता है (यानी इसे बार-बार डेटा को दोबारा नहीं रखना पड़ता है) और यह इंडेक्स की अनुमति देता है।

रेल इसका समर्थन करता है (देखें यहां ), आपको बस json(b) प्रकार का एक कॉलम जोड़ना होगा। अगर आपके माइग्रेशन में

. है
create_table :damages do |t|
  t.string :description
  t.jsonb :damage_points
end

तब

Damage.create(damage_points:  [{left: 40, top: 99}, {left: 100, top: 35}])

जेसन के रूप में क्षति बिंदु डेटा स्टोर के साथ एक पंक्ति बनायेगा। केवल ध्यान देने वाली बात यह है कि यद्यपि आपके इनपुट डेटा में हैश में कुंजियों के रूप में प्रतीक हैं, डेटाबेस से प्राप्त करते समय आपको हमेशा कुंजी के रूप में तार वापस मिलेंगे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक स्तंभों के SUM () से चयन करें और postgreSQL में शामिल हों

  2. PostgreSQL:एक शर्त के सही होने तक लूप करें

  3. चक्रीय संबंध के बिना ट्री टेबल कैसे बनाएं?

  4. SQLAlchemy, घोषणात्मक, PostgreSQL:टेबल नहीं बना सकता

  5. Postgres में सार्वजनिक से अन्य स्कीमा में तालिकाओं को कैसे स्थानांतरित करें