0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FlutterでFirebaseのCRUDのやり方

Posted at

はじめに

初めてFirebaseを実装したので、操作の仕方を忘れないようにCRUD(Create Read Update Delete)のやり方をアウトプットしようと思います。

データの挿入

Future addFirebaseData() async{
    await FirebaseFirestore.instance.collection("posts").add({//インスタンスを取得しコレクションを指定
      'name': 'Flutter',//追加するデータはmap型で指定
      'text': newWord,
      'createdAt': DateTime.now(),
    });
  }

データの表示

Future _fetchFirebaseData() async{
await FirebaseFirestore.instance.collection("posts").orderBy('createdAt').get().then((event) {//コールバック関数を渡す
  final docs = event.docs;//取得したドキュメントのリスト
  
    setState(() {//画面を更新する
      posts = docs.map((doc){//各要素に対して処理を行う。docは現在のドキュメント
        final data = doc.data();//現在のドキュメントのデータを取得
        final id = doc.id;
        final text = data['text'] as String;
        final createdAt = data['createdAt'].toDate();//Timestamp型をDateTime型(日付や時間)に変換
        final updatedAt = data['updatedAt']?.toDate();

        return Post(//取得したデータを使用し、Postオブジェクトを生成し返す
          id:id,//左がPostクラスのフィールド、右が取得したデータ
          text:text,
          createdAt:createdAt,
          updatedAt:updatedAt
        );},
        ).toList();//Listに変換する
        
    });  
});
}

データの更新

Future updateFirebaseData() async{
await FirebaseFirestore.instance.collection("posts").doc(widget.post.id).update({//ドキュメントIDを使用して、特定のドキュメントを参照
  'name': 'Flutter',
  'text': updatedWord,
  'updatedAt': DateTime.now(),
});
}

データの削除

Future deleteFirebaseData(String id) async{
await FirebaseFirestore.instance.collection("posts").doc(id).delete();//ドキュメントIDを指定して削除 。引数はいらない
}

実装したコード

参考資料

【Flutter×Firebase2024】Firestoreの値を表示

【Flutter×Firebase2024】Firestoreに値を追加

【Flutter×Firebase2024】Firestoreの値を更新

【Flutter×Firebase2024】Firestoreの値を削除

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?