我有一个网络应用程序。我可以从firebase获取详细信息。 目标:获取当前登录用户的用户名并将其显示在标签中。 当前场景:我能够获取用户名。但是,问题是,如果Firebase数据库中有3个用户,则会获取并附加所有用户的用户名。
在屏幕截图中,有两个用户名,Pasuad和Karthik Babu。我以Pasuad身份登录,它显示用户名为Pasuad Karthik Babu,因为它应该只显示Pasuad。
以下是代码段:
var config = {
apiKey: "AIzaSyDefsNT1f5-MSKvlh-JnoeJQxfWPKgnZto",
authDomain: "woofydesk-9fe8b.firebaseapp.com",
databaseURL: "https://woofydesk-9fe8b.firebaseio.com",
projectId: "woofydesk-9fe8b",
storageBucket: "woofydesk-9fe8b.appspot.com",
messagingSenderId: "1000344965487"
};
firebase.initializeApp(config);
var rootRef = firebase.database().ref('WoofyDesktop/UserList');
rootRef.on("child_added", snap => {
var username = snap.child("username").val();
$("#username").append("<a href='javascript:void(0)'><label>" + username + "</label></a>");
console.log(username);
});
非常感谢任何见解或建议!!
答案 0 :(得分:1)
您正在阅读存储在实时数据库中的一些用户信息,如果您只想要当前登录的用户信息,那么您必须使用firebase auth服务:查看其文档:https://firebase.google.com/docs/auth/web/start 你做了类似的事情:
firebase.auth().onAuthStateChanged((user) => {
// User is signed in.
if (user) {
console.log(user.displayName + " has logged in!");
}
// No user is signed in.
else {
console.log("user is logged out");
}
});
}