有选择地将数据从一个 Firestore 集合复制到另一个

Selectively copy data from one Firestore collection to another

我有一个 Firestore 集合,下面还有更多的子集合和字段。这就是结构的样子(firestore 的非常糟糕的例子)

(collection) company
   - (field) client_list 
   - (field) revenue 
   - subcollection1
   - subcollection2

如果某些客户在列表中,我想将其中的一些文档复制到另一个集合 (copy_of_company)。目前,我编写了复制文档中各个字段的代码,但无法弄清楚如何复制子集合

我不会经常执行此操作,也许一个月一次。我怎样才能完成这个有深度但有选择性的复制?

目前没有一两行解决方案。

query = (comapny_ref.where(u"client_list", u'array_contains', u'ABCorp'))
companies = [c for c in query.get()]
for company in companies:
  copy_of_comapny_ref.document(company.id).set(company._data)
  subcollection1_ref = comapny_ref.document(company.id).collection(u'subcollection1').get()
  for subcollection1 in subcollection1_ref:
    copy_of_comapny_ref.document(conv.id).collection(u'subcollection1').\
                        document(subcollection1.id).set(subcollection1._data)