Резервирование базы данных Firebase - PullRequest
0 голосов
/ 19 октября 2018

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

У меня есть три основных пути для моих данных: courses/, regs/, users/.Я храню данные в каждом из них, чтобы минимизировать загрузку данных при запросе снимка.Но я обнаружил, что я либо копирую данные (не экономя на хранилище) или Я использую несколько вызовов для сбора и создания необходимой мне информации для пользователя.

Есть три основных представления, которые я выполняю с помощью дерева:

  1. Все доступные курсы (где пользователь не зарегистрирован)
  2. Курсы текущего пользователя
  3. Представление администраторасписок курсов и всех зарегистрированных пользователей

data

courses: {
  course_1: {
    title: 'Some course',
    location: 'Some place',
    organizer: 'Organizer 1',
    desc: 'Some string description',
    start: `datestring`
  },
  course_2: { ... }
}, 
regs: {
  course_1: {
    title: 'Course Title',
    users: {
      userUid1: {
        name: 'Person 1',
        email: 'person1@email.com'
      },
      userUid2: { ... },
    },
  },
  course_2: { ... }
},
users: {
  userUid1: {
    building: 'Location',
    name: 'Person 1',
    email: 'person1@email.com'
    regs: {
      course_1: {
        title: 'Some Course'
        start: 'datestring`,
        location: 'Some place'
      },
      course_2: { ... }
    }
  },
  userUid2: { ... }
}

Итак, мой вопрос: в какой момент денормализация данных делает меньше смысл, чем глубже деревья?Нужно ли переосмыслить эту структуру?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...