访问 Firebase push() child

Accessing Firebase push() child

我正在慢慢进入 Firebase,但有一个可能是愚蠢的问题。如果我使用 push() 将 children 添加到引用中,如果我不保存生成的推送 ID,我该如何 retrieve/delete 它们?

例如,取这个根:

var ref = https://myaccount.firebaseio.com/player

如果我向 /player 写入新条目:

var new_player= ref.push({
    name:"User",
    country:"United States"
  })

Firebase 为此生成推送 ID:

https://myaccount.firebaseio.com/player/-JxgQCQsSLU0dQuwX0j-

里面有我推送的信息。现在假设我想找回或删除那个播放器?我应该使用 .key() 和 .set() 将生成的 ID 存储为自身的 child 吗?:

//this will get -JxgQCQsSLU0dQuwX0j-
var _newPlayerKey = new_player.key(); 


//updates the record I just created
var update_player = ref.set({
    name:"User",
    country:"United States",
    ref: _newPlayerKey
  })

我看不出还有什么方法可以通过生成的 ID 访问 object...有没有更好的设置方法?

你为什么这样做不能使用 key() 方法,它应该适用于几乎所有情况,即

playersRef.limit(10).on('child_added', function (snapshot) {    
   var player = "<p>"+ snapshot.val().name +" <button data-value='"+snapshot.key()+"'>Delete</button></p>";      
   $(player).appendTo($('#messagesDiv'));      
});