🔥

【Flutter×Firestore】値を削除する方法

2021/02/25に公開

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