【问题标题】:Selectively copy data from one Firestore collection to another有选择地将数据从一个 Firestore 集合复制到另一个
【发布时间】:2020-04-26 19:51:44
【问题描述】:
我有一个 Firestore 集合,其下还有更多子集合和字段。这就是结构的样子(firestore 的非常糟糕的例子)
(collection) company
- (field) client_list
- (field) revenue
- subcollection1
- subcollection2
如果某些客户在它的列表中,我想将其中的一些文档复制到另一个集合 (copy_of_company)。目前,我编写了代码来复制文档中的各个字段,但无法弄清楚如何复制子集合
我不会经常执行此操作,可能一个月一次。我如何才能完成这种深度但有选择性的复制?
【问题讨论】:
标签:
python
firebase
google-cloud-firestore
google-cloud-shell
【解决方案1】:
目前没有一两行解决方案。
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)