У меня есть куча данных из резервной копии mongodb, которую я хотел бы импортировать в новое приложение rails (разрабатывал с использованием mongo, теперь переключаясь обратно на activerecord).
Я попробовал очевидноеBSON.deserialize(doc)
но возвращает только первую запись.Есть идеи, что я делаю не так?Есть ли простой способ конвертировать файлы BSON в JSON или другой используемый формат для переноса в MySQL?
Редактировать: Ну, это вряд ли лучший способ, я уверен ... но мне удалоськонвертируйте их, используя скрипт оболочки ruby (используя bsondump
, часть mongodb).
#!/usr/bin/env ruby
bson_files = Dir['./*.bson']
bson_files.each do |file|
tmp_file_name = file+".tmp"
new_file_name = file+".json"
system("bsondump "+file+" > "+tmp_file_name)
file = File.open(tmp_file_name)
contents = []
file.each {|line| contents << line }
contents = "["+contents[0..-2].join.gsub(/}\n/,"},\n")[0..-3].gsub(/ObjectId\( (.{26}) \)/,"\\1").gsub(/Date\( ([0-9]*) \)/,"\\1")+"]"
out = File.open(new_file_name, 'w')
out.write(contents)
end
лучшие решения по-прежнему приветствуются.