Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Reactjs_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 在firebase中存储空阵列

Javascript 在firebase中存储空阵列,javascript,arrays,reactjs,firebase,firebase-realtime-database,Javascript,Arrays,Reactjs,Firebase,Firebase Realtime Database,我让我的firebase应用程序与React一起工作,通过React我注册用户,然后将这些信息登录到数据库。我正在创建一个“约会应用程序”,我想用一些方法来存储空数组。e、 g,匹配器:[]等 我试过这样的方法: firebase.database().ref('users/' + userId).set({ id: userId, username: name, email: email, matchers: [], likedUse

我让我的firebase应用程序与React一起工作,通过React我注册用户,然后将这些信息登录到数据库。我正在创建一个“约会应用程序”,我想用一些方法来存储空数组。e、 g,
匹配器:[]

我试过这样的方法:

firebase.database().ref('users/' + userId).set({
      id: userId,
      username: name,
      email: email,
      matchers: [],
      likedUsers: [],
      disLikedUsers: []
    });
但是,请阅读firebase并没有真正处理这样的数组,现在我不知道如何处理。我想要空数组,这样当用户开始使用应用程序时,他们就可以添加到各种数组中


有什么想法吗?

您不需要创建这些字段,它们是用第一项初始化的,建议使用推送,然后再将其映射到数组。

Firebase一直建议不要使用数组。我不再重复这些原因,而是让你看看这篇博文

但是您更大的问题似乎是数组为空数组:数组。如果属性没有值,Firebase数据库不会存储该属性。这意味着空数组不会存储在数据库中,因此不会被读回


在读回数据后,您必须自己重新创建这些属性。如果您对此有问题,请更新您的问题以显示您如何读取数据。

如果您的项目要求合适,您可以将阵列存储在FireStore数据库中。我想你也可以将数组作为子集合存储在FireStore中。@Kim为Kim干杯!这对我来说很好,但当我创建一个用户时,我想将其存储为更易于阅读。它不存储空数组,你可以在开始时将其设置为true,但你能告诉我在开始时需要它的原因吗?如果你想清空那些数组,这是一个超级问题。假设他有一些匹配项,但用户想要删除它们,他实际上不能清空对象,因为firebase不会接受带有空数组属性的更新。因此,他必须构建一个删除操作。我现在只是对数组进行JSON.stringing,并在从数据库中获取时解析它们。