我在Mongoid中设置了1 ... N关系
class Student < User
include Mongoid::Document
...
has_many :courses
class Course
include Mongoid::Document
belongs_to :student
我有2名学生
student1 = Student.create!(...)
student2 = Student.create!(...)
course1 = Course.create!(name: "Course 1")
course2 = Course.create!(name: "Course 2")
course3 = Course.create!(name: "Course 3")
student1.courses = [course1,course2]
student1.save!
student2.courses = [course2,course3]
student2.save!
理想情况下我想要的是mongodb
Student{
coures:[CourseId,CourseId,CourseId]
}
我在两条战线上并不理想
a)关系保存在Coures中(我知道这是根据mongoid文档想知道我是否可以翻转它?)
b)课程只保存一个学生ID而不是一个集合。所以我丢失了数据\
e.g。在蒙戈
Courses
{
"_id" : ObjectId("51f607bdb5b6057c92000005"),
"name" : "Course 1",
"student_id" : ObjectId("51f607bdb5b6057c92000002"),
}
{
"_id" : ObjectId("51f607bdb5b6057c92000006"),
"name" : "Course 2",
"student_id" : ObjectId("51f607bdb5b6057c92000003"),
}
{
"name" : "Course 3",
"student_id" : ObjectId("51f607bdb5b6057c92000003"),
}
我理解http://mongoid.org/en/mongoid/docs/relations.html#has_many 表明这是正确的。
但这不是我的预期。我想做什么有什么关系吗?
答案 0 :(得分:0)
为任何想要了解的人
工作加入
class Student
has_and_belongs_to_many :courses, inverse_of: nil
同时从belongs_to :student
Course