Javascript 从实时数据库检索currentUser数据

Javascript 从实时数据库检索currentUser数据,javascript,jquery,firebase-realtime-database,firebase-authentication,Javascript,Jquery,Firebase Realtime Database,Firebase Authentication,我在访问实时数据库中存储的当前用户数据时遇到问题,我可以从用户对象获取信息,但数据库中存储的其他数据库中没有存储任何信息。我在这方面比较新,这是我第一次使用Firebase身份验证[ btnSignup.on(“单击”),函数(e){ event.preventDefault(); 控制台日志(“单击”); email=txtEmail.val(); password=txtPassword.val(); auth=firebase.auth(); //查看真实的电子邮件 promise=aut

我在访问实时数据库中存储的当前用户数据时遇到问题,我可以从用户对象获取信息,但数据库中存储的其他数据库中没有存储任何信息。我在这方面比较新,这是我第一次使用Firebase身份验证[

btnSignup.on(“单击”),函数(e){
event.preventDefault();
控制台日志(“单击”);
email=txtEmail.val();
password=txtPassword.val();
auth=firebase.auth();
//查看真实的电子邮件
promise=auth.createUserWithEmailAndPassword(电子邮件,密码);
promise.catch(console.log(e.message));
txtPassword.val(“”);
txtEmail.val(“”);
userDisplayName=$(“#displayName输入”).val();
dietVal=$(“输入[name='diet']:选中”).val();
database.ref(“users/”+userId).set({
userId:userId,
userEmail:userEmail,
displayName:userDisplayName,
迪特瓦尔:迪特瓦尔
});
});
//注销按钮单击
btnLogout.on(“点击”,功能(e){
控制台日志(“注销”);
firebase.auth().signOut();
$(“#navbarDropdown”).hide();
});
//如果有其他功能,则用户状态会更改
firebase.auth().onAuthStateChanged(函数(firebaseUser){
if(firebaseUser){
console.log(firebaseUser);
$(“#下拉文本”).text(firebaseUser.email);
$(“#navbarDropdown”).css({
“显示”:“块”
});
$(“#注册登录按钮”).css({
“显示”:“无”
});
userId=firebaseUser.uid;
userEmail=firebaseUser.email;
userDisplayName=firebaseUser.displayName;
日志(firebaseUser.uid);
//按下firebase以保存用户数据。
//保存更改按钮单击
}


您共享的数据库屏幕截图显示了两个用户的信息,似乎与您共享的代码相对应。您是否希望数据库中有更多信息?或者是关于代码的其他信息没有达到您预期的效果?我正在尝试使用snapshot拉出displayName,并使用dietVal放入变量so我可以使用它来缩小基于哪个用户登录的搜索结果。希望这是有意义的用户对象中的uid与存储在实时数据库中的uid不同?也许这是我的问题啊,这似乎是错的。但我不知道在您当前的代码中会发生什么。我注意到的是您没有等待您的
createUserWithEmailAndPassword
承诺在写入数据库之前进行解析,这似乎不同寻常。您可能希望
promise。然后(…)
并写入其中的数据库。是的,这是我获得它的唯一方法,可以将所有内容从注册页面拉到数据库。但对我来说,用户名似乎是firebaseUser.uid,但它保存的是一个不同的数字。我一直在查找它,似乎它可能是一个键您共享的数据库屏幕截图shows是两个用户的信息,似乎与您共享的代码相对应。您是否希望数据库中有更多信息?或者代码的其他方面没有达到您期望的效果?我正在尝试使用snapshot拉出displayName,并使用dietVal放入一个变量,以便使用它缩小搜索结果的范围在哪个用户上登录。希望这有意义用户对象中的uid与存储在实时数据库中的uid不同?可能这是我的问题啊,这似乎是错的。我不知道在您当前的代码中会发生什么情况。我注意到的是,您没有在等待您的
createUserWithEmailAndPassword
promise在写入数据库之前解析,这似乎不寻常。您可能需要
promise。然后(…)
并写入其中的数据库。是的,这是我唯一能将所有内容从注册页面拉到数据库的方法。但对我来说,用户名似乎是firebaseUser.uid,但它保存的是一个不同的数字。我一直在查找它,似乎它可能是一个密钥