【发布时间】:2021-12-26 07:24:22
【问题描述】:
我正在将 Firebase Admin SDK 与 python 结合使用,并希望删除带有 Async/Await 子句的 Firestore 集合。
official document 表示(非异步/等待)删除应该像这样进行:
def delete_collection(col_ref, batch_size):
docs = col_ref.limit(batch_size).stream()
deleted = 0
for doc in docs:
print(f'Deleting doc {doc.id} => {doc.to_dict()}')
doc.reference.delete()
deleted = deleted + 1
if deleted >= batch_size:
return delete_collection(col_ref, batch_size)
但是,这在 Async/Await 版本中效果不佳。如果我把AsyncCollectionReference放在col_ref里面,就会出现这个错误:
TypeError: 'async_generator' object is not iterable
是否可以修复此问题?或者,进行 Async/Await 批量删除是完全错误的想法吗?
谢谢!
【问题讨论】:
标签: python firebase asynchronous async-await firebase-admin