2
我有一堆存儲在MongoDB集合(StudentRecord)中的記錄。需要將這些內容分解爲嵌入式文檔StudentGrade的Student類型集合。出於某種原因,我用來執行這個攝取的耙子任務會一直打到「堆棧層次太深」。我無法檢測到任何遞歸調用,並使用bundle exec來執行它(ruby 1.9.2-p320)。將數據導入到MongoDB導致「堆棧級別太深」
task :parse_student_records => :environment do StudentRecord.all.each{|student_record| student = Student.create({:name => student_record.name}) student.grades « Grade.create({:score => student_record.grade_score) student.save! } end class Student include MongoMapper::Document many :grades key :name, String end class Grade include MongoMapper::EmbeddedDocument key :grade_score, String end
將文檔作爲獨立文檔而不是嵌入文檔修復它。由於某種原因,嵌入導致了問題。
非常感謝你識別這個問題。浪費了一整天的時間讓這個工作。我已經按照線程中的建議嘗試了MM 0.8.6,但遇到了其他問題。很可能最終會等待上述修復加入更新版本。再次感謝 – udit
男人!你是一個拯救生命的人! – hugalves