在MongoDB中创建集合之间的关系
我是MongoDB的新手,我正在创建一个数据库来记录学生和学生在大学里学习的课程。 有三个集合称为学生、主题和讲师。 学生集合包含学生ID、姓名、出生日期、电子邮件、年份。 Subject集合包含subjectId、subjectName和credits 讲师集合包含讲师ID、讲师姓名、规格、联系人编号、电子邮件。 学生与学生收藏之间的关系是多对多的。 在主题和讲师集合之间存在一对一的关系。 我需要将主题添加到学生集合中,将讲师ID添加到主题集合中。。在MongoDB中创建集合之间的关系,mongodb,database,Mongodb,Database,我是MongoDB的新手,我正在创建一个数据库来记录学生和学生在大学里学习的课程。 有三个集合称为学生、主题和讲师。 学生集合包含学生ID、姓名、出生日期、电子邮件、年份。 Subject集合包含subjectId、subjectName和credits 讲师集合包含讲师ID、讲师姓名、规格、联系人编号、电子邮件。 学生与学生收藏之间的关系是多对多的。 在主题和讲师集合之间存在一对一的关系。 我需要将主题添加到学生集合中,将讲师ID添加到主题集合中。。 有谁能告诉我如何在集合之间创建外键关系吗?
有谁能告诉我如何在集合之间创建外键关系吗?如果文档包含来自不同集合的引用,可以使用MongoDB DBRefs DBREF中有三个字段−
− 此字段指定引用文档的集合$ref
− 此字段指定引用文档的_id字段$id
− 这是一个可选字段,包含引用文档所在的数据库的名称$db
{
"_id":ObjectId("53402597d852426020000002"),
"subjects": [{
"$ref": "SubjectCollection",
"$id": ObjectId("534009e4d853427820000001"),
"$db": "dbname"
},{
"$ref": "SubjectCollection",
"$id": ObjectId("829009e4d856727320000007"),
"$db": "dbname"
}],
"name": "Mukesh Saini",
"dob": "01-01-1990",
"email": "ms@gmail.com",
"year": 2017
}
然后您可以按如下方式查询被引用的文档-
var student = db.studentsColl.findOne({"name":"Mukesh Saini"})
var dbRef = student.subjects[0]
db[dbRef.$ref].findOne({"_id":(dbRef.$id)})
在文档包含来自不同集合的引用的情况下,可以使用MongoDB数据库引用 DBREF中有三个字段−
− 此字段指定引用文档的集合$ref
− 此字段指定引用文档的_id字段$id
− 这是一个可选字段,包含引用文档所在的数据库的名称$db
{
"_id":ObjectId("53402597d852426020000002"),
"subjects": [{
"$ref": "SubjectCollection",
"$id": ObjectId("534009e4d853427820000001"),
"$db": "dbname"
},{
"$ref": "SubjectCollection",
"$id": ObjectId("829009e4d856727320000007"),
"$db": "dbname"
}],
"name": "Mukesh Saini",
"dob": "01-01-1990",
"email": "ms@gmail.com",
"year": 2017
}
然后您可以按如下方式查询被引用的文档-
var student = db.studentsColl.findOne({"name":"Mukesh Saini"})
var dbRef = student.subjects[0]
db[dbRef.$ref].findOne({"_id":(dbRef.$id)})