我打算創建一個主樹調用用戶,其中將包含不同用戶用作USERNAME的名稱。所以每個用戶名都會包含他們的數據,例如全名,地址,電話號碼。我想知道如何在登錄其個人資料時獲取每個用戶的數據。如何將每個用戶鏈接到Firebase中的數據?
15
A
回答
36
首先,我建議你花一些時間熟悉火力點,通過閱讀Firebase Guide(Link to old Firebase Guide)。您需要了解的所有信息才能回答您自己的問題。但是,爲了簡單起見,我將在這裏放一個例子:
讓我們從安全開始,這裏有你需要爲這個示例的基本火力規則:(來源:Understanding Security)(舊來源:Understanding Security)
{
"rules": {
"users": {
"$user_id": {
".write": "$user_id === auth.uid"
}
}
}
}
我將跳過實際的用戶創建和登錄,並關注存儲和檢索用戶數據的問題。
存儲數據:(來源:Firebase Authentication)(舊來源:User Authentication)
// Get a reference to the database service
var database = firebase.database();
// save the user's profile into Firebase so we can list users,
// use them in Security and Firebase Rules, and show profiles
function writeUserData(userId, name, email, imageUrl) {
firebase.database().ref('users/' + userId).set({
username: name,
email: email
//some more user data
});
}
產生的火力點的數據將是這樣的:
{
"users": {
"simplelogin:213": {
"username": "password",
"email": "bobtony"
},
"twitter:123": {
"username": "twitter",
"email": "Andrew Lee"
},
"facebook:456": {
"username": "facebook",
"email": "James Tamplin"
}
}
}
最後但並非最不重要的的retreiving數據,這可以通過幾種方式完成,但對於這個例子,我將使用來自Firebase指南的簡單示例:(來源:Read and Write data)(舊來源:Retreiving Data)
//Get the current userID
var userId = firebase.auth().currentUser.uid;
//Get the user data
return firebase.database().ref('/users/' + userId).once('value').then(function(snapshot) {
//Do something with your user data located in snapshot
});
編輯:返回數據的
所以增加了例如當您登錄爲用戶的Twitter:123,你會得到基於你的用戶ID的位置的參考,並會得到這樣的數據:
"twitter:123": {
"username": "twitter",
"email": "Andrew Lee"
}
-2
在角度1 angularfire
控制器代碼:
var ref = firebase.database().ref().child("users/" + firebase.auth().currentUser.uid);
var syncUserObject = $firebaseObject(ref);
syncUserObject.$bindTo($scope, "data");
HTML視圖:
<input type="text" ng-model="data.username"/>
<!-- all changes from our Firebase database magically appear here! -->
<p>You said: {{ data.username }}</p>
這就形成了一個非常漂亮的三路數據綁定!
相關問題
- 1. 如何將圖片鏈接到MySQL數據庫中的用戶?
- 2. 如何將Firebase存儲文件與Firebase數據庫相鏈接
- 3. Firebase - 試圖將每個用戶的數據檢索到列表中
- 4. Firebase數據庫表格鏈接到Firebase存儲中的圖像
- 5. 如何將數據庫項目鏈接到一個鏈接
- 6. 點擊每個用戶每個鏈接
- 7. 排序Firebase中每個註冊用戶數據的分數,Android
- 8. 數據庫結構 - 如何將用戶鏈接到作業?
- 9. 將Firebase Analytics鏈接到Big Query時,數據何時導出?
- 10. 如何設置firebase數據庫規則來保護每個用戶的數據?
- 11. 如何將用戶註冊表單中的數據發送到Firebase數據庫
- 12. 如何爲Firebase中的多個用戶構建帳戶數據
- 13. 連接到Firebase數據庫後,如何處理用戶註銷?
- 14. 如何將數據鏈接到TStringGrid?
- 15. 將數據綁定到超鏈接中繼器 - 如何控制每個超鏈接的Text屬性值?
- 16. 如何將多個身份驗證提供程序鏈接到Firebase帳戶?
- 17. 使用jQuery將附加數據附加到頁面中的每個鏈接
- 18. 如何將用戶名和密碼添加到Firebase數據庫
- 19. 使用Firebase返回鏈接到用戶帳戶的圖像
- 20. 如何將多個數據錶鏈接到數據庫中的SQLite表?
- 21. 將數據鏈接到數據庫中的多個實體
- 22. 將Facebook用戶與Firebase密碼用戶鏈接
- 23. iOS鏈接兩個Firebase帳戶
- 24. Firebase帳戶鏈接錯誤
- 25. 獲取Firebase的鏈接數據
- 26. 如何將每個標記鏈接到它自己的infoWindow?
- 27. 如何將每個標籤鏈接到不同的aspx頁面?
- 28. 將facebook數據鏈接到當前登錄的用戶Passport.js
- 29. 如何將用戶名只鏈接到moodle中的profile.php
- 30. 如何將google firebase鏈接到ionic的controller.js文件?
是的,安德烈。謝謝。現在想象一下上面代碼中的用戶是一個數據庫,其中不同的外部人(例如「simplelogin:123」,「twitter:123」等)創建他們的賬戶,每個外部人如何獲得自己的數據? – DIPXOID
我的示例的最後一部分已經發生,**。child(authData.uid)**使用其唯一用戶標識(simplelogin:213,twitter:123,...) –
添加到我的答案顯示返回數據 –