有选择地将数据从一个 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)
我有一个 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)