Ответ 1
Вы можете использовать поле mongoid типа Hash или встроенный документ.
class MyModel
include Mongoid::Document
field :some_data, :type => Hash
end
Я получаю несколько похожих объектов JSON с удаленного сайта и хочу хранить их в локальном MongoDB.
Какой был бы лучший способ сделать это? (Желательно с помощью монгольских или монго-картперских камней)
Спасибо
Вы можете использовать поле mongoid типа Hash или встроенный документ.
class MyModel
include Mongoid::Document
field :some_data, :type => Hash
end
Если вы просто хотите сохранить свой 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 в тесте коллекции
Обнаружив, я могу просто поместить данные непосредственно в мангоид без определения полей:
SomeMongoidObject['dynamic_attribute'] = json_data