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

जेएसओएन डेटा प्रकार के लिए ऑपरेटरों को रेल 4 का उपयोग करके पोस्टग्रेज करता है

इस प्रतिक्रिया के लिए पोस्टग्रेज 9.4 की आवश्यकता है आपके उदाहरण डेटा संरचना में आपके पास निम्नलिखित हैं:

2.1.1 :202 > r.column_data
=> {"data1"=>[1, 2, 3], "data2"=>"data2-3", "array"=>[{"hello"=>1}, {"hi"=>2}]}

दुर्भाग्य से, किसी सरणी में किसी तत्व के अस्तित्व की जांच केवल स्ट्रिंग मानों के साथ (मेरी जानकारी के लिए) काम करती है। यदि हमारे पास निम्न डेटा होता, तो हम इसे बिना किसी समस्या के क्वेरी कर सकते थे।

{"data1"=>['1', '2', '3'], "data2"=>"data2-3"}

आइए इसका परीक्षण करें। नोट:पेलोड jsonb है। यह एक जेसन फ़ील्ड के रूप में काम नहीं करेगा।

Dynamic.create(payload: {"data1"=>['1', '2', '3'], "data2"=>"data2-3"})
Dynamic.where("payload -> 'data1' ? '1'").first
=> #<Dynamic id: 8, payload: {"data1"=>["1", "2", "3"], "data2"=>"data2-3"}, created_at: "2014-12-24 02:30:31", updated_at: "2014-12-24 02:30:31">

अधिक जानने के लिए, आप यह लेख




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विंडो फ़ंक्शंस में रिंग डेटा संरचना का उपयोग कैसे करें

  2. पायथन / psycopg2 का उपयोग करके एक बड़ी PostgreSQL तालिका में एक कॉलम को कुशलतापूर्वक कैसे अपडेट करें?

  3. PostgreSQL द्वारा पेश किया गया JSONB की व्याख्या

  4. PostgreSQL Sqlalchemy कमिटमेंट में बहुत समय लगता है

  5. पोस्टग्रेस्क्ल में दिनांक को पूर्णांक में बदलें