2010-10-30 12 views
15

में जेएसओएन स्टोर करें मुझे एक दूरस्थ साइट से कई समान JSON ऑब्जेक्ट मिल रहा है और उन्हें स्थानीय मोंगोडीबी में स्टोर करने की तलाश है।रेल: मोंगो डीबी

ऐसा करने का सबसे अच्छा तरीका क्या होगा? (अधिमानतः Mongoid या मोंगो-नक्शाकार जवाहरात के माध्यम से)

धन्यवाद

उत्तर

23

आप हैश या एम्बेडेड दस्तावेज़ के प्रकार के एक मोंगोइड फ़ील्ड का उपयोग कर सकते हैं।

class MyModel 
    include Mongoid::Document 
    field :some_data, :type => Hash 
end 
+0

नवीनतम रिलीज के लिए: फ़ील्ड: some_data, टाइप करें: हैश –

12

आप बस अपने JSON मोंगो में आप Mongoid या MongoMapper की जरूरत नहीं है की दुकान चाहते हैं। बस इसी के साथ मोंगो-माणिक ड्राइवर

require 'mongo' 

db = Mongo::Connection.new.db('sample-db') 
coll = db.collection('test') 
coll.insert(ActiveSupport::JSON.decode(you_json)) 

का उपयोग आप संग्रह परीक्षा में डेटाबेस नमूना-DB में स्टोर

1

क्षेत्रों को परिभाषित करने के बिना बाहर मैं सिर्फ सीधे mongoid में डेटा डाल सकते हैं मिला:

SomeMongoidObject['dynamic_attribute'] = json_data

+0

अच्छा कामकाज, लेकिन मैं अभी भी एक विकल्प के रूप में JSON फ़ील्ड का समर्थन करने वाले मोंगोइड देखना चाहता हूं। – mydoghasworms

+0

मैंने इसे गिटहब पर एक समस्या के रूप में लॉग किया है: https://github.com/mongoid/mongoid/issues/1603 – mydoghasworms

+0

इस मुद्दे पर प्रतिक्रिया प्राप्त हुई। स्पष्ट रूप से आप केवल फ़ील्ड प्रकार हैश या एम्बेडेड दस्तावेज़ का उपयोग कर सकते हैं। इस तरह के एक उत्तर पोस्ट किया है। – mydoghasworms