阅读并返回也可用于更新的Firebase数据库条目

时间:2017-07-28 02:50:12

标签: javascript firebase firebase-realtime-database

我试图从数据库中检索记录,然后使用返回的内容来更新记录。当我将记录推送到数据库时,它会返回一个我也可以用来更新它的对象。

/* this works */
var result = firebase.database().ref('b').push({ name: 'levi' });
result.update({name: 'leeeevi'});

有没有办法可以使用ID检索记录,返回一个可用于更新记录的对象?如下所示:

var response = firebase.database().ref('/b/' + id).once('value');
response.update({name: 'Levi'});

我希望用户能够使用条目的ID从数据库中读取。然后我希望他们能够对数据库中的记录进行更改。

2 个答案:

答案 0 :(得分:2)

push()返回一个新的数据路径引用,您可以通过该引用访问生成的唯一键/ id。您也可以使用相同的方法为其设置数据。

获取唯一键

// Get the unique key generated by push()
var pushId = pushRef.key;
var responseRef = firebase.database().ref('/b/' + pushId);
responseRef.update({name: 'Levi'});

答案 1 :(得分:1)

正如Joel所说,调用push()会向数据库位置返回referenceReference有一个方法update()

致电once()会返回Promise,其中没有名为update()的方法。

无需拨打once(),您只需直接在参考号上致电update()

firebase.database().ref('/b/' + id).update({name: 'Levi'});