course
lesson
activity
大约三个活动创建一节课,大约 16 节课组成课程。
我想将活动和课程文档分开。(通过选择它们来制作课程和课程)
每个文档都有一个 CRUD 操作,输出课程信息时会出现课程和活动。
哪个更适合参考和包含在 nosql 中?
我不确定我是否误解了您的问题,但是为每种类型的记录(活动,课程和课程)创建单独的集合,然后根据需要简单地引用所需课程和活动的id没有问题。 这将为您提供层次结构的外观。
例如,您可能有如下所示的课程
{
"_id": {
"$oid": "5bbf5d8e1ed05050136206ev"
},
"course_name": "Course 1",
"lessons": [
"_id": {
"$oid": "5bbf5d8e1ed05050136206ew"
},
"_id": {
"$oid": "5bbf5d8e1ed05050136206ex"
},
"_id": {
"$oid": "5bbf5d8e1ed05050136206ey"
},
]
}
这是一堂课
{
"_id": {
"$oid": "5bbf5d8e1ed05050136206ev"
},
"lesson_name": "Lesson 1",
"activity": [
"_id": {
"$oid": "5bbf5d8e1ed05050136206ez"
},
"_id": {
"$oid": "5bbf5d8e1ed05050136206ea"
},
"_id": {
"$oid": "5bbf5d8e1ed05050136206eb"
},
]
}
如果您知道要显示的详细信息类型并希望最大程度地减少查询,那么将某些详细信息包含在多个集合中没有问题,以下示例为课程
{
"_id": {
"$oid": "5bbf5d8e1ed05050136206ev"
},
"course_name": "Course 1",
"lessons": [
{
"_id": {
"$oid": "5bbf5d8e1ed05050136206ew"
},
"lesson_name": "Lesson 1"
},
{
"_id": {
"$oid": "5bbf5d8e1ed05050136206ex"
},
"lesson_name": "Lesson 2"
},
{
"_id": {
"$oid": "5bbf5d8e1ed05050136206ey"
},
"lesson_name": "Lesson 3"
},
]
}
希望这有帮助。