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

时间:2020-01-09 08:43:23

标签: python firebase google-cloud-firestore google-cloud-shell

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

getByExample

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

我通常不会每月执行一次此操作。我该如何完成这份深入而有选择性的副本?

1 个答案:

答案 0 :(得分:2)

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

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)