【问题标题】:Rails: Store JSON in MongoDBRails:在 MongoDB 中存储 JSON
【发布时间】:2010-10-30 10:52:20
【问题描述】:

我从远程站点获取多个类似的 JSON 对象,并希望将它们存储在本地 MongoDB 中。

最好的方法是什么? (最好通过 Mongoid 或 Mongo-mapper gems)

谢谢

【问题讨论】:

    标签: ruby-on-rails mongodb mongoid mongomapper


    【解决方案1】:

    您可以使用 Hash 类型的 mongoid 字段或嵌入文档。

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

    【讨论】:

    • 对于最新版本:字段:some_data,类型:哈希
    【解决方案2】:

    如果您只想将 JSON 存储在 Mongo 中,则不需要 Mongoid 或 MongoMapper。只需使用 Mongo-ruby-driver

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

    您将存储在数据库 sample-db 中的集合测试中

    【讨论】:

      【解决方案3】:

      发现我可以直接将数据放入 mongoid 而不定义字段:

      SomeMongoidObject['dynamic_attribute'] = json_data

      【讨论】:

      • 不错的解决方法,但我仍然希望看到支持 JSON 字段的 mongoid 选项。
      • 我已经在 GitHub 上记录了这个问题:github.com/mongoid/mongoid/issues/1603
      • 得到了有关该问题的反馈。显然,您可以只使用字段类型 Hash 或嵌入文档。已在此处发布了这样的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 2016-03-15
      • 1970-01-01
      • 2015-03-14
      相关资源
      最近更新 更多