如何在Firestore中对集合建模?

时间:2018-08-27 20:24:41

标签: angular firebase nosql google-cloud-firestore

我有一个小问题,我正在将NoSql与Firestore一起使用,这是我的第一个工作,我很难进行一些收集。 (我来自使用关系数据库的7年SQL背景知识)

我有这3个模型:用户,项目和团队

一个用户可以是多个团队 一个团队有很多用户 一个团队有多个项目 一个项目只是一个团队 用户可以编辑项目(仅在获得许可的情况下) 用户可以查看他所属的所有团队的所有项目

所以我在消防站做了类似的事情

集合/文档/数据

+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
   }

我的问题是如何获取用户可以查看或编辑的所有项目,如何存储这些数据?

我正在以最具成本效益的方式思考,使我读取的内容更少。

(对不起,如果我的英语不够好)

0 个答案:

没有答案