2010-10-30 51 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