1

私はfirebaseとJavascriptの初心者です。私は多くのメソッドを試してみましたが、ユーザーIDでユーザーデータストアを取得していますが、データは "undefined"の下に格納されています。ここfirebase userIDを取得できません

は、私のJSコードは、私が何をしようとしている

function handleRegister() { 
    var fname = document.getElementById('fname').value; 
    var lname = document.getElementById('lname').value; 
    var email = document.getElementById('email').value; 
    var password = document.getElementById('password').value; 
    var ref = firebase.database().ref(); 
    console.log(email); 
    console.log(fname); 

     if (email.length < 4) { 
     alert('Please enter an email address.'); 
     return; 
     } 
     if (password.length < 4) { 
     alert('Please enter a password.'); 
     return; 
     } 

     firebase.auth().createUserWithEmailAndPassword(email, password) 
     .then(function(user) { 
     var uid = user.uid; 
     var postData = { 
      Firstname: fname, 
      Lastname: lname, 
      email: email, 
     }; 
     // Get a key for a new Post. 
     var newPostKey = firebase.database().ref().child('Users').push().uid; 

     var updates = {}; 
     updates['/Users/' + newPostKey] = postData; 
     // updates['/user-posts/' + '/' + newPostKey] = postData; 
     return firebase.database().ref().update(updates); 
     }) 
    } 

である私は、データベースにユーザー情報(つまり、最初と最後の名前)を保存したい、新しいユーザーの後に登録されているということです認証時に生成されたそれぞれのUIDの下にあります。 現在、私はuidを取得することはできませんし、新しいユーザーは、新しいエントリとして入力するのではなく、以前に入力したユーザーをDBに置き換えます。

enter image description here

答えて

2

あなたはサンプルからパーツを組み合わせることで、物事を少し複雑にしています。

保存するだけで登録したユーザはこれを取る:

firebase.auth().createUserWithEmailAndPassword(email, password) .then(function(user) { 
    var root = firebase.database().ref(); 
    var uid = user.uid; 
    var postData = { 
     Firstname: fname, 
     Lastname: lname, 
     email: email 
    }; 
    root.child("Users").child(uid).set(postData); 
}) 
+0

そんなにそれが働いたありがとうございます。私は投票をすることができますが、私は十分なポイントがありませんでした – Ola

+0

それは助けたと聞いてうれしいです。あなたはそれの左側のチェックマークをクリックして、私の答えを受け入れることができるはずです。 –

+0

もう一度ありがとう – Ola

関連する問題