mongodb コレクション (StudentRecord) に多数のレコードが格納されています。これらは、埋め込みドキュメントの StudentGrade を使用して Student タイプの Collection に分割する必要があります。何らかの理由で、この取り込みを行うために使用しているレーキ タスクが「スタック レベルが深すぎます」に達し続けます。再帰呼び出しを検出できず、bundle exec を使用して実行しています (ruby 1.9.2-p320)。
タスク :parse_student_records => :環境 do
StudentRecord.all.each{|student_record|
student = Student.create({:name => student_record.name})
Student.grades « Grade.create({:score => student_record.grade_score)
学生。保存!
}
終わり
クラス学生
インクルード MongoMapper::Document
多くの:グレード
キー:名前、文字列
終わり
クラスグレード
インクルード MongoMapper::EmbeddedDocument
キー:grade_score、文字列
終わり
埋め込まれたドキュメントではなく、独立したドキュメントとしてドキュメントを取り込むと、問題が修正されます。何らかの理由で、埋め込みが問題を引き起こします。