Firebase Firestore:将一个新数组合并到存储在文档中的数组中



以下是我要做的:

  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.firestore().collection('posts').doc(uid).set({k: this.k}, {merge: true})

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

Firebase Firestore中有一个突破性的更改,您必须使用新的方式来设置合并键。我在飞镖中这样做如下,你可以尝试这种方式,希望它能为你工作

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

最新更新