Skip to content

Commit 74d41af

Browse files
committed
fix: Update firestore samples for python to use recurssive delete
b/470275866 Modified samples for Firestore Client and Asyn Firestore Client.
1 parent 688be80 commit 74d41af

File tree

2 files changed

+13
-32
lines changed

2 files changed

+13
-32
lines changed

firestore/cloud-async-client/snippets.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -693,24 +693,16 @@ async def delete_full_collection():
693693
db = firestore.AsyncClient()
694694

695695
# [START firestore_data_delete_collection_async]
696-
async def delete_collection(coll_ref, batch_size):
697-
docs = coll_ref.limit(batch_size).stream()
698-
deleted = 0
696+
async def delete_collection(coll_ref):
699697

700-
async for doc in docs:
701-
print(f"Deleting doc {doc.id} => {doc.to_dict()}")
702-
await doc.reference.delete()
703-
deleted = deleted + 1
704-
705-
if deleted >= batch_size:
706-
return delete_collection(coll_ref, batch_size)
698+
await db.recursive_delete(coll_ref)
707699

708700
# [END firestore_data_delete_collection_async]
709701

710-
await delete_collection(db.collection("cities"), 10)
711-
await delete_collection(db.collection("data"), 10)
712-
await delete_collection(db.collection("objects"), 10)
713-
await delete_collection(db.collection("users"), 10)
702+
await delete_collection(db.collection("cities"))
703+
await delete_collection(db.collection("data"))
704+
await delete_collection(db.collection("objects"))
705+
await delete_collection(db.collection("users"))
714706

715707

716708
async def collection_group_query(db):

firestore/cloud-client/snippets.py

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -839,28 +839,17 @@ def delete_full_collection():
839839
db = firestore.Client()
840840

841841
# [START firestore_data_delete_collection]
842-
def delete_collection(coll_ref, batch_size):
843-
if batch_size == 0:
844-
return
842+
def delete_collection(coll_ref):
845843

846-
docs = coll_ref.list_documents(page_size=batch_size)
847-
deleted = 0
848-
849-
for doc in docs:
850-
print(f"Deleting doc {doc.id} => {doc.get().to_dict()}")
851-
doc.delete()
852-
deleted = deleted + 1
853-
854-
if deleted >= batch_size:
855-
return delete_collection(coll_ref, batch_size)
844+
print(f"Recursively deleting collection: {coll_ref}")
845+
db.recursive_delete(coll_ref)
856846

857847
# [END firestore_data_delete_collection]
858848

859-
delete_collection(db.collection("cities"), 10)
860-
delete_collection(db.collection("data"), 10)
861-
delete_collection(db.collection("objects"), 10)
862-
delete_collection(db.collection("users"), 10)
863-
delete_collection(db.collection("users"), 0)
849+
delete_collection(db.collection("cities"))
850+
delete_collection(db.collection("data"))
851+
delete_collection(db.collection("objects"))
852+
delete_collection(db.collection("users"))
864853

865854

866855
def collection_group_query(db):

0 commit comments

Comments
 (0)