🔥
【Flutter×Firestore】値を削除する方法
Firestoreの削除メソッド
delete
- ドキュメントに対して行う
FirebaseFirestore.instance.collection('hunters').doc('senritsuId').delete();
注意点①:コレクションの削除はちょっと面倒
コレクションを一発で削除するメソッドはFirestoreには存在しない
- Functionsで実装する
- すべてのドキュメントを取得しforEach等でdeleteし続ける(ドキュメントがなくなれば、コレクションも消える)
のいずれかの対応になるが、ひとつひとつ解説すると長くなるので現時点では割愛
注意点②:サブコレクションは削除されない
例えば「 users / user / todos / todo 」のようなデータ構造の場合
FirebaseFirestore.instance.collection('users').doc(id).delete();
を実行すると、
- user ドキュメントの「フィールド」はすべて削除される
- todos サブコレクションは残る
ということになり、空の user ドキュメントと todos サブコレクションが残る形になる。
この場合も、上記同様に「 Functions 」もしくは「deleteし続ける」対応で、サブコレクションを削除するコードを実装する必要がある。
Discussion