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

浏览:31日期:2023-07-01

问题描述

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

请问怎么用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建立引用关系,主要还是通过程序而不是数据库去完成的。

相关文章: