😸

表で見るFirestore利用例

2020/10/21に公開

Flutterでアプリを作る際に、Firestoreを少し触ってみました。

コードで利用するイメージつけるために、まず簡単な表にすることが良いかもしれないと思いましたので、

その例を記載します。

Firestore利用例

事前知識

  • 公式サイト

  • 以下の表の見方

    • []で囲まれているものは、実際の値とは異なる
      • 例: [ユーザID]
        • ドキュメントとして、117727241635087384434のような値を持つ
    • {}で囲まれているものは、実際の値とは異なる複数の値
      • 例:{ユーザ情報}
        • フィールドとして、以下のような値を持つ
          • androidNotificationToken
          • bio
          • displayName
          • email
          • id
          • photoUrl
          • timestamp
          • username

Word Wolf(ゲーム)

  • ポイント
    • ドキュメントにカテゴリーやワード名を利用することで、ブラウザで見やすくなる
  • 例:
    • ドキュメント①:野菜
      • ドキュメント②:にんじん
      • ドキュメント②:かぼちゃ
      • ドキュメント②:すいか
コレクション① ドキュメント① コレクション② ドキュメント② 作成契機
words [カテゴリー名] categoryWords [ワード名] Word作成時

SNSアプリ

  • 【参考】Build a Social Network App with Flutter and Firebase | Udemy

  • ポイント

    • それぞれのコレクションでユーザIDやpostIdが連携していることで、処理がしやすくなる(Functions利用等)
    • lengthでフォロワー数/フォロー数がわかったり、length.toList()でフォロワー/フォローユーザIDのリストを作ることが可能
  • 注意

    • ドキュメントがそれぞれ、コレクションまたは、フィールドを持つ、または持たないことがある
コレクション① ドキュメント① フィールド① 作成契機
users [ユーザID] {ユーザ情報} Create User時
コレクション① ドキュメント① コレクション② ドキュメント② フィールド① 作成契機
posts [投稿したユーザID] userPosts [投稿した際のpostId] {投稿情報} Post時
コレクション① ドキュメント① コレクション② ドキュメント② 作成契機
following [フォローした側のユーザID] userFollowing [フォローされた側のユーザID] フォロー実行時
コレクション① ドキュメント① コレクション② ドキュメント② 作成契機
followers [フォローされた側のユーザID] userFollowers [フォローした側のユーザID] フォロー実行時
コレクション① ドキュメント① コレクション② ドキュメント② フィールド① 作成契機
feed [feedされた側のユーザID] feedItems [feed対象のpostId] {投稿情報とfeed情報} Like、フォロー、コメント実行時
コレクション① ドキュメント① コレクション② ドキュメント② フィールド① 作成契機
comments [コメント対象のpostId] comments [コメント自体のId] {コメント者の情報とコメント内容} コメント実行時
コレクション① ドキュメント① コレクション② ドキュメント② フィールド① 作成契機
timeline [timelineの持ち主のユーザID] timelinePosts [timelineに表示するpostId] {投稿情報} 投稿、Like、フォロー、コメント実行時

Discussion