【发布时间】:2015-11-21 04:44:54
【问题描述】:
我正在慢慢进入 Firebase,但有一个可能是愚蠢的问题。如果我使用 push() 将子项添加到引用中,如果我不保存生成的推送 ID,如何检索/删除它们?
例如,取这个根:
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 存储为自身的子项吗?:
//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 访问该对象...有没有更好的方法来设置它?
【问题讨论】:
-
作为键访问记录 (
child()) 的替代方法,您可以使用 Firebase 查询:firebase.com/docs/web/guide/… -
如果有部分路径未知,如何查询?例如,我可以通过查询订购,但不调用 .key() 我不知道要进入哪条路径......我并不是说这是粗鲁的,我是在诚实地问:)
-
根据用户名获取用户:
new Firebase('https://myaccount.firebaseio.com/player/').orderByChild('name').equalTo('User').on(...。但是将密钥作为命名属性存储在同一个对象中是没有意义的。然后你可以做new Firebase('https://myaccount.firebaseio.com/player/').child(key)
标签: javascript firebase firebase-realtime-database