Entschuldigen Sie die überfüllte Notation von Dokument und Untersammlung.
Ich habe dort viel recherchiert, aber ... ・ Löschen mit Cloud-Funktionen
CloudFuctions scheint veraltet zu sein, weil es zu langsam ist.
Aufgrund sorgfältiger Überlegungen beim Betrachten des Lernprogramms
func delete(collection: CollectionReference, batchSize: Int = 100, completion: @escaping (Error?) -> ()) {
collection.limit(to: batchSize).getDocuments { (docset, error) in
guard let docset = docset else {
completion(error)
return
}
guard docset.count > 0 else {
completion(nil)
return
}
let batch = collection.firestore.batch()
docset.documents.forEach {batch.deleteDocument($0.reference)}
batch.commit { (batchError) in
if let batchError = batchError {
completion(batchError)
}
else {
self.delete(collection: collection, batchSize: batchSize, completion: completion)
}
}
}
}
Diese Funktion hat gut funktioniert. Bitte wenden Sie den Fertigstellungsteil entsprechend Ihren Vorstellungen an.
Es ist für mein eigenes Memo und ich hoffe, es hilft, weil jeder es tun kann.
Recommended Posts