Иерархия отношений в носкле - PullRequest
0 голосов
/ 07 января 2019
course
  lesson
    activity

Около трех занятий создание одного урока и около 16 уроков составление курса .

Я хочу разделить документы деятельность и . (чтобы сделать уроки и курсы , выбрав их)

Каждый документ имеет операцию CRUD, и урок и активность появляются при выводе курса информации.

Что лучше для справки и включения в nosql?

1 Ответ

0 голосов
/ 07 января 2019

Я не уверен, что неправильно понял ваш вопрос, но нет проблем с созданием отдельных коллекций для каждого типа записей (задание, урок и курс), а затем просто с указанием идентификатора требуемых уроков и заданий по мере необходимости. Это дало бы вам видимость иерархии.

Например, у вас может быть что-то вроде ниже для курса

{
  "_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"
    },
  ]
}

Надеюсь, это поможет.

...