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

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

我有一个 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)

关于python - 有选择地将数据从一个 Firestore 集合复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59660058/

相关文章:

python - 分隔行 python pandas

python - 在 Django 2.1 中创建模型后将字段更新为主键值

python - 是否可以在不在 URL 中使用语言代码的情况下拥有多语言 django CMS 站点?

java - android应用程序按钮onClick监听器错误

firebase - 如何使用Flutter获取Firestore中的嵌套项目数

python - Python 中 Matlab 的等效项

ssl - 如何从 Arduino 解决 Firebase 问题?

android - 如何根据日期(DAY)从 firebase 获取特定的子值

ios - Firestore : Is it possibile to have duplicate auto generated ID across different subcollection?

java - Firestore : Clients and invoices, 如何建模