javascript - 无法获取 firebase 用户 ID

标签 javascript firebase firebase-realtime-database firebase-authentication

我是 firebase 和 Javascript 的新手,我尝试了很多方法通过用户 ID 获取用户数据存储,但我得到的只是数据存储在“未定义”下。

这是我的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,新用户将替换之前在数据库中输入的用户,而不是作为新条目输入。

enter image description here

最佳答案

通过组合示例中的部分,您让事情变得有点复杂。

保存刚刚注册的用户需要这样:

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);
})

关于javascript - 无法获取 firebase 用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42125238/

相关文章:

android - Crashlytics 未出现在 Firebase 中

android - 当我尝试将 mobile-center-push 添加到 React Native 项目时找不到 com.google.firebase :firebase-core:11. 0.0

javascript - 从 Firebase 数据库的 JSON 数据中获取值(value)

node.js - 如何处理来自分布式系统的两个http请求?

javascript - Jquery 数字计数器仅一次

javascript - 将 ES6 类传递给 Workerize

javascript - 用于自动完成表格计数结果的 php 或 javascript 代码

java - 在方法外部使用变量值

firebase-realtime-database - 一旦时间戳上指示的时间过去了,如何使数据不可读?

javascript - 从数据网格抓取/检索数据 - DOM 到 CSV 控制台输出