Angular Firestore

Angular firestore

我需要帮助来绘制我的 Firestore 架构。 根集合 用户 - ID1(运动员) ID2(教练)-> subColl(页面) ID3

用户可以是教练员或运动员

如果它是训练器,它会将 public 数据保存在另一个名为

的根集合中

trainerInfo - ID(与培训师 ID 示例 ID2 相同)

通过trainerInfo,运动员可以看到可用的教练列表 具有功能:

fetchAvailableTrainer (): Observable <PublicTrainerInfo []> {
    return from (
      this.afs
        .collection <PublicTrainerInfo> (`trainerInfo`)
        .valueChanges ({idField: 'idField'})
    );
  }

当培训师选择培训师时,他可以看到他的页面,该页面是具有以下功能的用户子集:

fetchTrainerPageFromAthlete (id): Observable <TrainerPage> {
    const collection = this.afs.collection <TrainerPage> (
      `users / $ {id} / trainerPage`
    );
    const trainerPage $ = collection.valueChanges ({idField: 'idField'}). pipe (
      map ((trainerPage) => {
        const trainerPage2 = trainerPage [0];
        return trainerPage2;
      })
    );
    returns trainerPage $;
  }

请问可以公开教练ID吗?

您无需隐藏用户 ID。要限制其他用户访问用户数据,您必须设置 firebase 规则。 This document 会帮助你。