我正在尝试构建一个类似于议程的webapp,以保存每个用户的联系人列表。因此,每个用户都可以拥有自己的联系人列表,问题是当我与特定用户登录时,我只想显示该用户拥有的联系人。
firebase.database().ref('contacts').orderByChild('uid').equalTo(uid).once('value')
contacts/
contact-id
firstName
lastName
uid
这就是我现在使用的,uid是已登录用户的ID。 有一个更好的方法吗 ? 谢谢你,丹尼尔!
答案 0 :(得分:0)
像这样构建数据库:
users: {
user1: {
name: "User 1",
contacts: {
contact1: true,
contact2: true
}
},
user2: {
name: "User 2",
contacts: {
contact1: true,
contact3: true
}
}
}
将用户1,用户2替换为UID。
和联系人:
contacts: {
contact1: {
name: "Contact 1",
mobile: 00000
},
contact2: {
name: "Contact 2",
mobile: 11111
},
contact3: {
name: "Contact 3",
mobile: 22222
}
}
现在,当有人登录时,您将获得当前的uid,您可以使用它查找当前登录用户的联系人列表。
firebase.database().ref('users/'+userUID+'/contacts').on('child_added', snapshot => {
firebase.database().ref('contacts/'+snapshot.key).on('value', snap => {
console.log(snap.val().name); //Print name of persons in contact list
});
});