当前位置: 首页 > 知识库问答 >
问题:

将阵列上载到Firestore

储法
2023-03-14

我正在尝试将应用程序中的数组上载到Firestone。然而,它继续显示

使用无效数据调用了“firebaseError:function fieldvalue.arrayUnion()”。

这是我的代码:

    const finalList = this.state.players.map(player => {
        if(player.Present === true){
            return player.id
        }
    })
    finalList.map( id => 
        dbh.collection("Groups").doc(this.state.group)
        .collection('Enrolled').doc('ids').update({
        players: firebase.firestore.FieldValue.arrayUnion(id)
        })
    )

请注意,数据库中还不存在数组“players”。

共有2个答案

乌俊健
2023-03-14

看起来您的id变量是一个id数组,而arrayUnion函数需要一个可重复的变量

要转换类型,您可以使用...操作:

finalList.map( id => 
  dbh.collection("Groups").doc(this.state.group).collection('Enrolled').doc('ids').update({
    players: firebase.firestore.FieldValue.arrayUnion(...id)
  })
)

或者,更普遍的是,您可以使用以下方式执行转换:

firebase.firestore.FieldValue.arrayUnion.apply(null, id); 

有关这方面的更多信息,请参阅Gil在firebase talk邮件列表的这篇帖子中的回答。

贺卜霸
2023-03-14

您还可以使用我在相关注释中讨论过的集合与合并方法

除此之外,您可以使用

   const finalList = this.state.players.map(player => {
        if(player.Present === true){
            return player.id
        }
    })
    dbh.collection("Groups").doc(this.state.group)
    .collection('Enrolled').doc('ids').update({
    players: firebase.firestore.FieldValue.arrayUnion(...finalList)
    })

您可以从Matthew Rideout的回答中获得详细信息

 类似资料:
  • 问题内容: 我想知道从ArrayList转换为Array是否安全/建议?我有一个文本文件,每行一个字符串: 我想将它们读入数组列表,然后将其转换为数组。建议这样做/合法吗? 谢谢 问题答案: 是的,将转换为是安全的。一个好主意取决于您的预期用途。您需要提供的操作吗?如果是这样,请将其保留为。否则转换掉! 输出

  • 问题内容: 我需要将几个数组合并为一个数组。描述我要寻找的内容的最好方法是将阵列“交织”为单个阵列。 例如,从数组#1中取出第一项,然后追加到最终数组中。从数组2获取项目1,然后追加到最终数组。从数组#1获得第二项并追加…等。 最终的数组如下所示: array#1.element#1 array#2.element#1。。。 “踢球者”是各个阵列可以具有各种长度。 是否有更好的数据结构要使用? 问

  • 我对powershell非常陌生,我不知道如何将我的数组放入csv文件中,在该文件中,每个字符串都会进入一个新行。下面是一些示例代码。 当我检查csv文件时,所有的输出都显示在一行上,而不是在行的特定列中迭代。任何帮助将是非常有用和感激

  • 我正在尝试减少阵列流的并行流 我知道合并器用于合并并行流。。但它并没有像我预期的那样工作,因为我得到了如下重复结果:- 那么为什么结果是重复的呢?在累加器中使用数组列表是否线程安全?

  • 问题内容: 我有一个像这样的3D矩阵 并希望将它们以网格格式堆叠,最后得到 有没有一种方法,而无需明确地对其进行hstacking(和/或vstacking)或添加额外的维度并重塑(不确定这样做是否可行)? 谢谢, 问题答案: In [27]: x = np.arange(16).reshape((4,2,2)) 我在这里发布了用于将数组重塑/取消塑形的更多常规功能。

  • 我从BQ下载了一个表格到PySpark RDD,如下所示。我如何再次上传它?