【问题标题】:Firebase creating extra user data upon account creationFirebase 在创建帐户时创建额外的用户数据
【发布时间】:2018-09-14 20:27:01
【问题描述】:

我正在使用 Firebase 和 Angular 2 来创建新用户。我想通过为每个新创建的用户添加额外的数据来扩展它。在这个例子中,我想让每个新创建的用户都从分配的net worth = 5000 属性开始。所以我的架构看起来像:

email | ''
password | ''
net worth | '5000'

通过Firebase docs,我找到了save data 功能。但是,我不确定如何将set 功能与我的用户名和密码身份验证脚本合并。

以下是基本的注册脚本。

signup(){
     firebase.auth().createUserWithEmailAndPassword('johncena@nosell.com', 'ucantcme')
     .catch(function(error){
     console.log(error);
});}

我想知道如何使用此注册实现set 功能,以便为用户添加默认数据。

【问题讨论】:

    标签: angular firebase firebase-authentication


    【解决方案1】:

    您无法将“net_worth”保存在身份验证区域中。为此,您需要在数据库中有一个单独的表。例如“用户”。检查下面的代码。

    创建用户后,您将获得 UID。使用该 UID 将相关数据存储到数据库中。

    firebase.auth().createUserWithEmailAndPassword('johncena@nosell.com', 'ucantcme')
       .then(function(response) {
          console.log(response.uid); // Created user UID
    
          var updates = {};
          updates['/users/' + response.uid] = { net_worth : 5000 };
          firebase.database().ref().update(updates);
    });
    

    这里的“用户”是一个新表。

    【讨论】:

    • 属性 'uid' 不存在于类型 'void |用户凭据”。类型 'void'.ts(2339) 上不存在属性 'uid'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 2017-05-09
    • 2017-03-09
    • 2016-11-25
    • 1970-01-01
    相关资源
    最近更新 更多