in functions/events-all-firebase/all_firebase.go [132:169]
func deleteCollection(w io.Writer, ctx context.Context, client firestore.Client, collectionName string,
batchSize int) error {
col := client.Collection(collectionName)
bulkwriter := client.BulkWriter(ctx)
for {
// Get a batch of documents
iter := col.Limit(batchSize).Documents(ctx)
numDeleted := 0
// Iterate through the documents, adding
// a delete operation for each one to the BulkWriter.
for {
doc, err := iter.Next()
if err == iterator.Done {
break
}
if err != nil {
return err
}
bulkwriter.Delete(doc.Ref)
numDeleted++
}
// If there are no documents to delete,
// the process is over.
if numDeleted == 0 {
bulkwriter.End()
break
}
bulkwriter.Flush()
}
fmt.Fprintf(w, "Deleted collection \"%s\"", collectionName)
return nil
}