Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新firebase数据库中嵌套数组的值_Javascript_Arrays_Firebase_Firebase Realtime Database_Vue.js - Fatal编程技术网

Javascript 更新firebase数据库中嵌套数组的值

Javascript 更新firebase数据库中嵌套数组的值,javascript,arrays,firebase,firebase-realtime-database,vue.js,Javascript,Arrays,Firebase,Firebase Realtime Database,Vue.js,我正在用Vue.js构建一个web应用程序,使用Firebase身份验证和实时数据库,我是新手。 在这个应用程序中,用户回答问题以获得一些分数 我的问题是:我想更新数据库中已存储和创建的现有阵列,以便该用户的进度/点数能够更新我应用程序中的所有组件 例如,假设我想增加屏幕截图中突出显示的值+1: 我在考虑像普通javascript中那样的userid.progress[6][0]+=1,但我无法更新数据库,值仍然是0。 我读过一些关于.set()或.update()的内容,但是在这种情况下,我

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

我的问题是:我想更新数据库中已存储和创建的现有阵列,以便该用户的
进度/点数
能够更新我应用程序中的所有组件

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

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

PS:获取用户id或当前用户不是问题,一切正常。
希望能找到人帮助我,提前谢谢大家

如果您试图更新现有分数,您可以在最精细的级别上编写。因此:

ref.child("pjoCy...0tl3/progress/0/6/0").set(1)
如果您想将一个新的分数推送到数组的末尾,您确实需要读取整个分数数组以向末尾添加一个新值。这是Firebase建议不要像您那样使用数组索引的众多原因之一。如果您改为使用所谓的推送ID,则添加新值变得非常简单,如下所示:

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

我建议你多读一些关于和经典博客文章。

你不能这样做。首先是
get()
存储的值,然后使用
.update()
进行增量您试图实现的目标有点不清楚,但我为下面几个可能的问题编写了一个答案。下一次,请包括,它需要大量的猜测工作的回答,并大大提高了你的机会得到很好的帮助很快。我会与@FrankvanPuffelen回答这个问题。但总的来说。它们很难使用,因为添加或删除元素需要读取和重新写入数组。此外,它们不可直接查询。它们实际上没有集成到JSON结构中,通常有更好的选择。如果您可以用一个特定的用例(比如0、1、2、3代表什么)和一些代码来更新您的问题,我们可能会提供一个更完整的答案。