Every time I try to delete a document programmatically using documentSnapshot.delete(), the firebase only deletes the document and not its subcollections. I want to permanently delete a document and all its subcollections with the push of a button and every time the user tries to create the same document, it'd be empty.
What's the proper way to do that?
(CLOSED)
This is the code that worked for me:
CollectionReference<Map<String, dynamic>> collectionReference = FirebaseFirestore.instance.collection('collection name').doc('document name').collection('collection name');
DocumentReference<Map<String, dynamic>> documentReference = collectionReference.doc('document name');
documentReference.collection('lists').get().then((lists) {
lists.docs.forEach((listElement) {
documentReference.collection('lists').doc(listElement.id.toString()).collection('cards').get().then((cards) {
cards.docs.forEach((cardElement) {
documentReference.collection('lists').doc(listElement.id.toString()).collection('cards').doc(cardElement.id.toString()).delete();
});
});
documentReference.collection('lists').doc(listElement.id.toString()).delete();
});
});
await documentReference.delete();