将用户uid链接到firebase数据库

时间:2017-05-08 16:08:05

标签: node.js firebase react-native firebase-realtime-database firebase-authentication

我目前正在使用react-native创建应用程序,并希望将firebase身份验证生成的userid链接到firebase数据库中的用户信息。

{
  users:useruid:{
                  //Storing other user information
               }
}

我正在从auth中检索uid并为这样的用户创建一个新子项:

firebase.auth().onAuthStateChanged((user) => {

  console.log(user)

  if(user){

    user.getToken().then((userid) => {
      //Set the initial state
      firebase.database().ref('/users/').child(userid).set({
        'uid': userid,
        'businessName': business,
        'street address': street,
        'city': city,
        'state': state,
        'zipcode': zipcode,
        'productGroup': 0,
        'pom': 0,
        'som': 0,
        'inventory': 0,
        'reporting_and_analytics': 0,
        'accounting': 0
      })

      dispatch({type: types.REGISTER_USER_SUCCESS})

    }).catch(function(error){
      console.log(error.message)
      dispatch({type: types.REGISTER_BUSINESS_FAILURE, error});
    });
  }
  else{
    console.log("ERROR: Registration error")
  }
});

 }

我收到错误:关于生成的uid的路径无效。任何帮助。我检查了firebase上的文档以及与此相关的类似问题,但仍然遇到同样的错误。

Error

1 个答案:

答案 0 :(得分:0)

路径:

firebase.database().ref('/users/').child(userid)
由于//users//userid的工作方式,

child()基本相同,这显然是一条不正确的路径。

取而代之的是/之前和之后的users。尝试:

firebase.database().ref('users').child(userid)

child()方法将形成正确的路径。