首页 > 解决方案 > 如何在 Angular 中使用 Firebase 用户 UID 作为 ID

问题描述

我是 Firebase 的新手,我不明白如何将用户保存在集合中。所以,我有下面的代码,我需要修改它以将文档保存在“用户”集合中,其中文档 ID 等于用户的 UID。Firebase 为我添加的每个新文档生成一个 ID,但我想将此生成的 ID 设置为用户的 UID。我正在使用 Angular 10 和 Firebase 来做到这一点。你能帮我实现吗?

 constructor(private httpClient: HttpClient, private afAuth: AngularFireAuth) { }

createUser(email: string, password: string, userData: RegisterDataModel) {
    return defer(async () => {
      const cred = await this.afAuth.createUserWithEmailAndPassword(
        email,
        password
      );
      return cred.user;
    }).pipe(
      switchMap((user) => {
        console.log({ ...userData, userId: user?.uid });
        return this.addUserDb({ ...userData, userId: user?.uid });
      })
    );
  }

  private addUserDb(user: RegisterDataModel) {
    const url = `some random API`;
    return this.httpClient.post(url, user);
  }

标签: javascriptangularfirebasefirebase-authenticationangularfire2

解决方案


推荐阅读