【问题标题】:Use Firebase to create database of users使用 Firebase 创建用户数据库
【发布时间】:2017-06-30 18:16:14
【问题描述】:

我正在使用 firebase 对用户进行身份验证。 我想添加一个要添加到数据库的用户(在他注册应用程序之后)。 用户正在使用以下内容注册该应用:

  firebaseRef.auth().createUserWithEmailAndPassword(this.state.email, this.state.password).then(function(newUser){
    //good
    this.setState({
      status: 'ok'
    });
  }).catch(function(error){
    //bad
  });

在此代码之后,用户确实会出现在 Firebase 控制台的“身份验证”部分。

我也想将它添加到数据库中。

在这个数据库中,我想要一个用户列表。每个用户都应该有一些属性,例如姓名、电子邮件和朋友列表(其他用户)。

我正在寻找如何做到这一点,但我仍然不知道。 如果你们能给我信息来源/例子,将不胜感激。

提前致谢!

【问题讨论】:

    标签: firebase react-native


    【解决方案1】:

    标准做法是在您的 Firebase 中拥有一个 /users 节点。

    创建用户后,他们将被分配一个用户 ID (uid),该用户 ID 可以在填充创建函数的闭包中获得。

    在您的用户节点中,您将创建一个节点,使用他们的 uid 作为键,然后是您想要存储的关于他们的任何其他数据。

    users
       uid_0
         nickname: "Michael"
       uid_1
         nickname: "Jermaine"
    

    要写,做这样的事情

    firebaseRef.auth().createUserWithEmailAndPassword(this.state.email, this.state.password).then(function(authData){
        this.writeUserData(authData.uid, users_nickname);
      }).catch(function(error){
        //bad
      });
    
    
    writeUserData(the_uid, the_nickname) {
        // the_uid can also come from let userId = firebaseApp.auth().currentUser.uid;
        firebase.database().ref('users/' + the_uid + '/').set({
            nickname: the_nickname,
        });
      }
    

    这会将以下内容添加到 Firebase

    users
       uid_x
         nickname: "some nickname"
    

    (在我的 iPad 上未经测试,但你明白了)

    【讨论】:

    • 谢谢 :),我该怎么做?请问有什么信息来源可以提供吗?
    猜你喜欢
    • 2020-10-02
    • 1970-01-01
    • 2016-11-03
    • 2019-11-09
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 2021-07-23
    相关资源
    最近更新 更多