Мне нужно массово вставить массив встроенных документов в существующий документ. Я пробовал приведенный ниже код, но он не работал
arr_loc = []
arr_loc << Location.new(:name=> "test") << Location.new(:name=> "test2")
biz = Business.first
biz.locations = arr_loc
biz.save # not working
В настоящее время я вставляю каждый документ отдельно, зацикливая массив, я надеюсь, что есть более чистый способ сделать это.
из оболочки монго мы можем легко сделать это следующим образом
> var mongo = db.things.findOne({name:"mongo"});
> print(tojson(mongo));
{"_id" : "497da93d4ee47b3a675d2d9b" , "name" : "mongo", "type" : "database"}
> mongo.data = { a:1, b:2};
{"a" : 1 , "b" : 2}
> db.things.save(mongo);
> db.things.findOne({name:"mongo"});
{"_id" : "497da93d4ee47b3a675d2d9b" , "name" : "mongo" , "type" : "database", "data" : {"a" : 1 , "b" : 2}}
>
проверьте ссылку для получения дополнительной информации .. возможно ли это сделать с помощью mongoid?