我在 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而不是一个集合。所以我丢失了数据\
例如在 mongo
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 表明这是正确的。
但这不是我所期望的。我想做的事情有关系吗?