0

我有一個Web應用程序。我可以從firebase中獲取詳細信息。 目標:獲取當前登錄用戶的用戶名並將其顯示在標籤中。 當前情景:我可以獲取用戶名。但是,問題是,如果Firebase數據庫中有3個用戶,那麼它將獲取並追加所有用戶的用戶名。無法僅從Firebase獲取當前用戶名

以下是截圖: browser console output

看到,在截圖中,有兩個用戶名,Pasuad和KARTHIK巴布。我以Pasuad身份登錄,它顯示的用戶名爲Pasuad Karthik Babu,因爲它只顯示Pasuad。 firebase console output

這裏是代碼片段:

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

    }); 

任何見解或建議是不勝感激!!

回答

1

您正在閱讀存儲在您的實時數據庫中的一些用戶信息,如果您只想要當前登錄的用戶信息,則必須使用Firebase身份驗證服務:查看其文檔: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"); 

    } 
}); 

}