我计划建立一个名为主要用户树,其中将包括不同的用户作为用户名的名称。 因此,从每个用户名会被纳入他们的数据,如姓名,地址,电话号码
我想知道如何登录时,他们的个人资料得到每个用户的数据。
我计划建立一个名为主要用户树,其中将包括不同的用户作为用户名的名称。 因此,从每个用户名会被纳入他们的数据,如姓名,地址,电话号码
我想知道如何登录时,他们的个人资料得到每个用户的数据。
首先,我建议你花一些时间来熟悉火力通过阅读火力地堡指南 ( 链接到老火力地堡指南 )。 所有你需要知道的回答你自己的问题,请那里。 但是,为了简单起见,我将在这里放一个例子:
让我们从安全开始,这里有你需要为这个示例的基本火力规则:(来源: 了解安全 )(旧来源: 了解安全性 )
{
"rules": {
"users": {
"$user_id": {
".write": "$user_id === auth.uid"
}
}
}
}
我将跳过实际的用户创建和记录中,注重对存储和检索用户数据的问题。
存储数据:(来源: 火力地堡认证 )(旧的源: 用户认证 )
// 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,这可以在几个方面,但在这个例子做我要去使用从火力引导一个简单的例子:(来源: 读取和写入数据 )(旧来源: Retreiving数据 )
//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"
}