2010-10-30 87 views
15

我從遠程站點獲取多個類似的JSON對象,並希望將它們存儲在本地MongoDB中。Rails:在MongoDB中存儲JSON

這樣做的最好方法是什麼? (最好是通過Mongoid或蒙戈映射器寶石)

感謝

回答

23

您可以使用Hash類型的mongoid字段或嵌入式文檔。

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

最新版本:字段:some_data,輸入:Hash – 2017-07-19 21:31:34

12

如果你只是想保存您的JSON在蒙戈你不需要Mongoid或MongoMapper。只需使用蒙戈 - 紅寶石驅動

require 'mongo' 

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

與您在數據庫樣本數據庫存儲在收集測試

1

發現我可以只把數據直接導入mongoid沒有定義的字段:

SomeMongoidObject['dynamic_attribute'] = json_data

+0

很好的解決方法,但我仍然希望看到支持JSON字段的mongoid作爲選項。 – mydoghasworms 2012-01-17 12:37:30

+0

我已經在GitHub上記錄了這個問題:https://github.com/mongoid/mongoid/issues/1603 – mydoghasworms 2012-01-17 12:49:05

+0

得到了關於這個問題的反饋。顯然你可以使用字段類型哈希或嵌入式文檔。在這裏發佈了答案。 – mydoghasworms 2012-01-18 08:45:32