Экспериментируя с Firebase, я пытаюсь получить только что добавленного потомка, который добавляется динамически.Как я могу получить только: pi0usqkj16o?
var availability = database.ref("games/setup");
availability.once("value", function(snapshot){
console.log(JSON.stringify( snapshot.val() ) );
});
snapshot.val()
дает мне следующее:
{
"pi0usqkj16o":{
"player1":"ed",
"player1Choice":"",
"player1Wins":0,
"player2":"",
"player2Choice":"",
"player2Wins":0,
"total":0
},
"wpgnfq1swac":{
"player1":"ed",
"player1Choice":"",
"player1Wins":0,
"player2":"",
"player2Choice":"",
"player2Wins":0,
"total":0
}
}
Конечная цель будет заключаться в том, чтобы настроить таргетинг на вновь созданный каталог (дочерний), который динамически создается и получает имя серийного номера,возможно делать что-то подобное?var name = pi0usqkj16o;database.ref ("somefolder /" + name);`
но как я смогу изолировать только серийный номер от возвращенного выше json?
//App Code
//INITIALIZE FIREBASE
firebase.initializeApp(config);
var database = firebase.database();
var Methods = {
//Makes a new serial (ex. pi0usqkj16o)
function uniqueId(){
return Math.random().toString(36).substr(2, 16);
}
//checks if a game room is already available
initialCheck: function(callback){
var availability = database.ref("games/setup");
availability.once("value", function(snapshot){
//if there is no readily available room already created..create a new room
if(snapshot.numChildren() < 1){
var gameName = uniqueId();
availability.update({
[gameName]: {player1: "ed", player2: "", player1Choice: "", player2Choice: "", player1Wins: 0, player2Wins: 0, total: 0}
});
}
else{
var room = snapshot.key;
// Need to find the room name to be able to assign it to the user.
console.log("room is: " + room );
}
});
}