Как моделировать коллекции в пожарном магазине? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть небольшая проблема, я делаю свою первую работу, используя NoSql с Firestore, и мне трудно пытаться сделать некоторые коллекции. (Я пришел из фонового SQL почти 7 лет, используя реляционную БД)

У меня есть 3 модели, пользователи, проекты и команды

Пользователь может быть в команде нескольких Команда имеет много пользователей У команды есть несколько проектов Проекты только от одной команды Пользователь может редактировать проекты (только если есть разрешение) Пользователь может видеть все проекты из всей команды, к которой он принадлежит

так что я сделал что-то вроде этого в firestore

Коллекция / Документ / данные

+users
  docId = fireAuth.uid {
    //Some personal data here
    team_id: someIdFromTeam // this is not null if is team leader
  }

+teams
  docId = generatedId {
    name: Team One,
    users:{
      0: UserId1
      1: UserId2
      ...
    }
  }

+projects
  docId = generatedId  {
    name: Project One
    team_id: someIdFromTeam
    //Some Other Data.
  }

+users_teams
   docId = userId_teamId{
     userId = userId
     teamId = teamId
     editor = true // or false if the user can edit projects from this team
   }

У меня проблема в том, как получить все проекты, которые пользователь может видеть или редактировать, как я могу сохранить эти данные?

Я думаю, что наиболее экономически эффективным способом, когда я делаю меньше чтения на базе огня.

(Извините, если мой английский недостаточно хорош)

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