5

मैं collectionपाठ क्षेत्र रेल में json डेटा कैसे क्वेरी करने के लिए PostgreSQL

में data type text

मैं डाला है json डेटा के साथ एक डेटाबेस तालिका स्तंभ (collection) है यह मेरा json डेटा है

{"name":"test","age":"25","country":"xxx"} 

लेकिन अब मैं इस जेसन डेटा से कैसे पूछूं। वहाँ किसी भी विकल्प के रूप में

User.where(collection: :name) # Here name denotes test 
+0

क्या आप इसे समझ गए? – tristanm

उत्तर

2

इस प्रकार के बाद से JSON एक स्ट्रिंग है है, आप केवल स्ट्रिंग SQLite/MySQL (या किसी अन्य डेटाबेस) का उपयोग तुलना कर सकें। साथ ही, डेटाटाइप को बाइनरी के रूप में रखने का प्रयास करें।

आप प्रदर्शन कर सकते हैं: LIKE आपके संग्रहीत JSON स्ट्रिंग के अंदर उप-स्ट्रिंग की घटना के लिए ऑपरेशन।

उपरोक्त तुलना आप जो कर रहे हैं वह काम नहीं करेगा क्योंकि यह संग्रह कॉलम में केवल नाम खोजने के लिए है, जबकि आपने उस कॉलम में एक संपूर्ण JSON स्ट्रिंग संग्रहीत की है।

0

आप json डेटाप्रकार

https://github.com/diogob/activerecord-postgres-hstore

का उपयोग कर आप रेल 4 का उपयोग कर रहे, तो आपको यह मणि की जरूरत नहीं है, लेकिन डॉक्स अभी भी लागू करने पर विचार कर सकता है।

संबंधित मुद्दे