Firebase在创建帐户时创建额外的用户数据

时间:2016-09-27 04:52:41

标签: angular firebase firebase-authentication

我正在使用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功能,以便为用户添加默认数据。

1 个答案:

答案 0 :(得分:4)

您无法在auth区域中保存'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);
});

这里'用户'是一张新表。