Javascript 如何调用具有唯一ID的子级的子级?

Javascript 如何调用具有唯一ID的子级的子级?,javascript,firebase-realtime-database,multiplayer,Javascript,Firebase Realtime Database,Multiplayer,我正在尝试使用Firebase实时数据库创建多人游戏大厅。我为主持人制作了Rooms>UniqueID>UniqueID>player name 我希望客户端看到可用房间的列表,以及创建它的玩家的名称(“xxx的房间”)。它们具有唯一的ID,因为我不想使用身份验证服务。客户端可以从一开始就选择其名称 问题是我无法读取ref,因为唯一ID是一个键: let idr = firebase.database().ref().child('Rooms').push().key; 主机与文件室具有相同

我正在尝试使用Firebase实时数据库创建多人游戏大厅。我为主持人制作了
Rooms>UniqueID>UniqueID>player name

我希望客户端看到可用房间的列表,以及创建它的玩家的名称(“xxx的房间”)。它们具有唯一的ID,因为我不想使用身份验证服务。客户端可以从一开始就选择其名称

问题是我无法读取ref,因为唯一ID是一个键:

let idr = firebase.database().ref().child('Rooms').push().key;
主机与文件室具有相同的ID,其他客户端将具有唯一的ID。这不起作用:

var databaseRooms = firebase.database().ref('Rooms/');
var idrref = databaseRooms.child(idr/idr);
idrref.once('value',function(snapshot) {
    snapshot.forEach(function(child) {
        console.log(child.key+':'+child.val());
    });

    }); 
我尝试复制完整的id(
-Lfj5cS-1_jlfS7nf_Fb
),它可以工作,但这是一个独特的情况,因此不是我想要的。以下是更多代码,以便于更好地理解:

let databaseRoom = firebase.database().ref('Rooms/');

function appuyerHost() {

    let pseudo = document.getElementById("inputpseudo").value;
    //Nom entrée par le joueur dans la barre "enter your name"
    let idr = firebase.database().ref().child('Rooms').push().key;
    //Créé un id spécial pour la room, meme si deux s'apelle pareille c ok  

    if (pseudo.length < 3) { 
        document.getElementById("alertpop").style.visibility = "visible"
        } else
    // Si le pseudo n'est pas de 3 caractères de long min. message d'erreur.

    var datar = {  
     user_name: pseudo
    }
     // Récupère l'id + le nom.

     let updatesr = {};
    updatesr['/Rooms/'+ idr +'/' + idr] = datar
    firebase.database().ref().update(updatesr);
    //envoie les données a la database, la room a l'id du joueur
}
let databaseRoom=firebase.database().ref('Rooms/');
函数appuyerHost(){
让pseudo=document.getElementById(“inputpseudo”).value;
“进入你的名字”
让idr=firebase.database().ref().child('Rooms').push().key;
//这是一个特别的房间,它是一个很好的房间
如果(伪长度<3){
document.getElementById(“alertpop”).style.visibility=“可见”
}否则
//这是一封三克拉长的短信。
var datar={
用户名:pseudo
}
//Récupère l'id+le nom。
让updatesr={};
updatesr['/Rooms/'+idr+'/'+idr]=datar
firebase.database().ref().update(updatesr);
//我们的环境是一个数据库,一个房间
}
请随意建议不同的大厅创建方式。我希望您能解释一下您的理解以及解决方案