问题描述
比如:一名学生(学号,名字,性别,年龄)教师(教工号,名字)选课信息(学号,课程号,教工号,成绩)
请问怎么用mongodb模块建立这三个的关系??
问题解答
回答1: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:<课程编号>}
回答2:mongodb 有 DBRef 当作文档引用,可以记录其他collection的文档位置。不过这个引用并不是sql数据库中外键的概念,它只能记录引用文档的collection名和id号,没有任何其他的操作可以附加,甚至都不能在引用文档发生变化或删除的时候进行一些操作。所有mongodb建立引用关系,主要还是通过程序而不是数据库去完成的。