将集合设置为子集合

时间:2018-09-22 15:11:20

标签: firebase google-cloud-firestore

我想知道是否有更直接的方法将集合设置为新文档中的子集合。我当前的方法是:

  1. 获取CollectionA,它将用作子集合
  2. 创建对新DocA的引用
  3. 将一些数据设置到DocA
  4. CollectionB中创建对新DocA的引用
  5. 使用batch()并在CollectionA的每个文档上使用batch(set, CollectionA.doc.data())遍历CollectionA
  6. batch.commit()CollectionA中的所有文档提交到CollectionB

是否有更简单的方法来实现这一目标?

赞:

DocA.collection('CollectionB').set(CollectionA)

我尝试了几种与此类似的方法,但是CollectionA最终生活在CollectionB内的单个文档中。而不是将CollectionA中的所有文档变成CollectionB中的文档。

1 个答案:

答案 0 :(得分:1)

没有API可以将文档从一个集合复制到另一个集合中。您将必须将文档阅读给客户端,然后将它们写入目标集合。

我认为没有比批量复制它们更快速的方法了。请注意,一个批次最多可以包含500个写入操作,因此您可能必须执行多个操作。