怎么用mongodb或者mongoose库建立文档引用

比如:一名学生(学号,名字,性别,年龄)教师(教工号,名字)选课信息(学号,课程号,教工号,成绩)

请问怎么用mongodb模块建立这三个的关系??

阅读 4k
2 个回答

MongoDB 创建index: db.collection.createIndex( { name: 1 } )
db - 是数据库
collection - 是table(相对于mysql来说)

关于数据库建立,我会这样写: (仅供参考)
student
{
_id:ObjectID(<MongoDB ID>),
id:<学号>,
gender: <性别>,
age: <年龄>,
name:<名字>,
course_ids:[

  course_id1:{
     mark: <成绩>,
     teacher_id: <教工号> 
  },
  course_id2:{
     mark: <成绩> 
  }

]
}

teacher
{
_id:ObjectID(<MongoDB ID>),
id:<教工号>,
name:<名字>,
courses:[ course_id1, course_id2 ]
}

course
{
_id:ObjectID(<MongoDB ID>),
id:<课程编号>
}

mongodb 有 DBRef 当作文档引用,可以记录其他collection的文档位置。不过这个引用并不是sql数据库中外键的概念,它只能记录引用文档的collection名和id号,没有任何其他的操作可以附加,甚至都不能在引用文档发生变化或删除的时候进行一些操作。所有mongodb建立引用关系,主要还是通过程序而不是数据库去完成的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进