假设我有如下结构的数据库节点:每个用户都设置自己偏好的用户名,并且由Firebase auth分配的他/她的UID记录在该用户名下。
"uid_match":
{
"username_1" : {
"uid" : "firebase_uid_1"
},
"username_2" : {
"uid" : "firebase_uid_1"
}
我正在尝试编写代码以通过Firebase uid提取用户名。它将查找特定的firebase uid并返回用户名,该用户名具有其自己的URL。
以下是我编写的代码的一部分,但返回的是“ / uid_match”,而不是“ / username_1”或“ / username_2”。
let ref=firebase.database.ref('/uid_match');
let user=firebase.auth().currentUser;
ref.orderByChild('uid').equalTo(user.uid).once('value', function(snapshot) {
window.location.href='/'+snapshot.key;
})
问题:提取“ username_1”或“ username_2”而不是“ uid_match”的正确查询代码是什么?非常感谢。
您需要在中进行迭代snapshot
,以检索密钥username_1
和_username_2
:
let ref=firebase.database.ref('/uid_match');
let user=firebase.auth().currentUser;
ref.orderByChild('uid').equalTo(user.uid).once('value', function(snapshot) {
snapshot.forEach(function(childSnapshot){
window.location.href='/'+childSnapshot.key;
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句