【问题标题】:Firebase Firestore: Merge a new array into an array stored in a document?Firebase Firestore:将新数组合并到存储在文档中的数组中?
【发布时间】:2020-07-20 10:47:16
【问题描述】:

这是我想要做的:

  1. 有一个数组k,存储在以下文档下的'posts'索引下:

    k=['a','b',c']
    
    firebase.firestore().collection('posts').doc(uid)
    
  2. 将以下数组合并到现有数组中:

    k=['c','d']
    result=['a','b','c','d','e']
    

Firestore 中是否有内置语法来执行此操作?我尝试了 arrayUnion() 方法,如下所示,但它似乎可以插入单个元素,而不是实际的数组:

   firebase.firestore().collection('posts').doc(uid).update({
        posts: firebase.firestore.FieldValue.arrayUnion(k)
   })
  

知道如何做到这一点吗?提前非常感谢!

【问题讨论】:

标签: firebase google-cloud-firestore


【解决方案1】:

你试试这样的

firebase.firestore().collection('posts').doc(uid).set({k: this.k}, {merge: true})

使用合并设置:true,如果文档或文档中的字段存在则更新,如果不创建则更新

【讨论】:

    【解决方案2】:

    Firebase Firestore 发生了重大变化,您必须使用新方法来设置合并键。我在飞镖中这样做如下你可以尝试这种方式希望它对你有用

    FirebaseFirestore.instance
            .collection('ABC')
            .doc({uid})
            .set(data, SetOptions(merge: true));
    

    【讨论】:

      猜你喜欢
      • 2022-01-10
      • 2022-10-12
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多