更新firebase数据库

时间:2017-12-01 14:34:29

标签: javascript arrays firebase firebase-realtime-database vue.js

我正在使用Firebase身份验证和实时数据库与Vue.js构建一个Web应用程序,我是新手。 在这个应用程序中,用户回答问题以获得一些要点。

我的问题是:我想更新已在数据库中存储和创建的现有数组,以便该用户的progress/points将跟踪以更新我的所有组件应用

例如,假设我想在屏幕截图中增加+1突出显示的值:

nested array

我正在考虑像普通javascript中的userid.progress[6][0] += 1之类的东西,但我无法更新数据库,价值仍在0。 我已经阅读了关于.set().update()的内容,但在这种情况下我应该重写所有数组(这将是一个问题),但我可能完全错了。

PS:获取用户ID或当前用户不是问题,一切正常。 希望有人帮我,非常感谢你!

1 个答案:

答案 0 :(得分:1)

如果您尝试更新现有分数,则可以在最精细的级别上进行编写。所以:

ref.child("pjoCy...0tl3/progress/0/6/0").set(1)

如果要将新分数推送到数组的末尾,您确实需要读取整个分数数组以在末尾添加新值。这是Firebase建议不要像您一样使用数组索引的众多原因之一。如果您使用我们所谓的push-ID,添加新值就变得如此简单:

ref.child("pjoCy...0tl3/progress/0/6").push(1)

我建议您详细了解structuring lists in the Firebase documentation以及handling arrays in Firebase上的经典博客文章。