首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nosql中的层次关系

nosql中的层次关系
EN

Stack Overflow用户
提问于 2019-01-07 13:23:20
回答 1查看 39关注 0票数 0
代码语言:javascript
复制
course
  lesson
    activity

约三项活动创造一节课,约十六节课组成本课程。

我想把活动文件和课文分开。(选择课程和课程)

每个文档都有CRUD操作,在输出课程信息时会出现课程和活动。

在nosql中哪一个更好的参考和包含?

EN

回答 1

Stack Overflow用户

发布于 2019-01-07 13:49:06

我不知道我是否误解了您的问题,但对于为每种类型的记录(活动、课程和课程)创建单独的集合,然后根据需要简单地引用所需课程和活动的id没有问题。这将给您提供一个层次结构的外观。

例如,您可能有如下所示的课程

代码语言:javascript
复制
{
  "_id": {
    "$oid": "5bbf5d8e1ed05050136206ev"
  },
  "course_name": "Course 1",
  "lessons": [
    "_id": {
      "$oid": "5bbf5d8e1ed05050136206ew"
    },
    "_id": {
      "$oid": "5bbf5d8e1ed05050136206ex"
    },
    "_id": {
      "$oid": "5bbf5d8e1ed05050136206ey"
    },
  ]
}

这是一堂课

代码语言:javascript
复制
{
  "_id": {
    "$oid": "5bbf5d8e1ed05050136206ev"
  },
  "lesson_name": "Lesson 1",
  "activity": [
    "_id": {
      "$oid": "5bbf5d8e1ed05050136206ez"
    },
    "_id": {
      "$oid": "5bbf5d8e1ed05050136206ea"
    },
    "_id": {
      "$oid": "5bbf5d8e1ed05050136206eb"
    },
  ]
}

如果您知道您希望显示的详细信息类型,并希望将查询最小化,则包含多个集合的一些细节没有问题,例如下面的课程。

代码语言:javascript
复制
{
  "_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"
    },
  ]
}

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54075282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档