どんな人向けか
Firestoreでデータベースを管理している場合に、サブコレクション・サブドキュメントも一緒に削除したい人
概要
公式にあるようにFirestoreでは親ドキュメントを削除しても子コレクション・子ドキュメントは削除されない
https://firebase.google.com/docs/firestore/manage-data/delete-data?hl=ja
だめな例
FirebaseFirestore firebaseFirestore = FirebaseFirestore.instance;
static deleteAccount() async {
await firebaseFirestore.collection('users').doc('mail').delete();
}
いい例
FirebaseFirestore firebaseFirestore = FirebaseFirestore.instance;
static deleteAccount() async {
await firebaseFirestore
.collection('users')
.doc('mail')
.collection('name')
.get()
.asStream()
.forEach((element) {
for (var element in element.docs) {
element.reference.delete();
}
});
}
上記のように再帰的に削除しなければならない。