筆者はよくFlutterでアプリ開発する時FirebaseのCloud Firestoreを利用するんですが、登録とかの処理を記述するたびにぐぐってる気がするので備忘録としてシンプルに記載してみようと思います。
FlutterとFirebaseとの接続のやり方はそのうち記事にしようと思っています。
目次
登録
set()
ドキュメントIDを任意の文字列にしてデータを登録したい時にはsetメソッドを使用します。
import 'package:cloud_firestore/cloud_firestore.dart';
// ...
FirebaseFirestore.instance.collection('コレクション名').doc('ドキュメントID').set(
{
'name': yuto,
'job': engineers,
},
);
add()
ドキュメントIDを指定しないでとりあえず登録できればいい時はaddメソッドを使用すると便利です。
addメソッドを使うとその都度ランダムなドキュメントIDを生成して勝手にデータを登録してくれます。
import 'package:cloud_firestore/cloud_firestore.dart';
// ...
FirebaseFirestore.instance.collection('コレクション名').add(
{
'name': yuto,
'job': engineers,
},
);
更新
update()
特定のドキュメントを更新したい時はupdateメソッドを使用します。
既存のドキュメントIDとそのフィールドを更新したい値に書き換えてupdateメソッドを使えばフィールドを更新することができます。
import 'package:cloud_firestore/cloud_firestore.dart';
// ...
FirebaseFirestore.instance.collection('コレクション名').doc('ドキュメントID').update(
{
'name': yuto,
'job': programmer, // engineersから更新
},
);
削除
delete()
既存のドキュメントIDを指定してdeleteメソッドを使うことでそのドキュメントを削除できます。
import 'package:cloud_firestore/cloud_firestore.dart';
// ...
FirebaseFirestore.instance.collection('コレクション名').doc('ドキュメントID').delete();
ちなみにコレクション自体をを一括で削除する方法は存在しません。削除したければコレクション配下のドキュメントを一つ一つ削除しないといけません。
あとドキュメントを削除してもその配下のサブコレクションは削除されないので、それすらも削除したい時は先にサブドキュメントから全て削除しましょう。