我有一堆记录存储在 mongodb 集合(StudentRecord)中。这些需要分解为具有嵌入式文档 StudentGrade 的 Student 类型的集合。出于某种原因,我用来执行此摄取的 rake 任务不断达到“堆栈级别太深”。我无法检测到任何递归调用,我正在使用 bundle exec 来执行它(ruby 1.9.2-p320)。
任务:parse_student_records =>:环境做 StudentRecord.all.each{|student_record| 学生 = Student.create({:name => student_record.name}) student.grades « Grade.create({:score => student_record.grade_score) 学生。保存! } 结尾 班级学生 包括 MongoMapper::Document 许多:等级 键:名称,字符串 结尾 班级成绩 包括 MongoMapper::EmbeddedDocument 键:grade_score,字符串 结尾
将文档作为独立文档而不是嵌入文档来修复它..由于某种原因,嵌入会导致问题。