【調べてみた!】Firebaseのデータモデルとセキュリティ

プログラミング

こんにちは!管理人のさとるです。

Firebaseを最近業務外で触りつつ、基本中の基本から勉強してます😁

備忘録的な感じですが、ネタがあれば肉付けしていきます。

※すみませんが、取り急ぎ噛み砕きが少なめですが、ご了承ください。
時間を見つけて、随時補強します。

Cloud Firestore データモデル

公式URL
https://firebase.google.com/docs/firestore/data-model?hl=ja

ドキュメントと聞いて、パソコン上のマイドキュメントやGoogleドライブのようなイメージを想像しましたが、だいぶ違うようです。

エンジニア的にはとても腑に落ちるというか、扱いやすそうだなという印象です。

コレクションというらしいのですが、特徴としては以下の2つです。

  • 階層データ
    XXリーグ
    - 〇〇チーム
     チーム名: 〇〇
     監督: △△
      発足: YYYY年

    単純にドキュメントを格納するよりも、欲しい情報を探しやすいのが有難い❗️

  • データ内にさらに構造を扱える(サブコレクション)
    さらに階層データの中にもデータが持てます

    プロリーグ
    - 〇〇チーム
        ・・・・
        選手リスト
        - 選手A
            名前: xxxxx
            入団: yyyy/mm/dd
            ポジション: xxxxx
        - 選手B
            名前: xxxxx
            入団: yyyy/mm/dd
            ポジション: xxxxx
        - ・・・・

Cloud Firestore セキュリティルール

公式URL
https://firebase.google.com/docs/firestore/security/rules-structure?hl=ja

それらのデータに対して、アクセスURLによって可能な操作をコントロールできます。

下記の例のように取りに行く情報を指定していて、特定の処理に対して、読み込み(read)や書き込み(write)ができるかどうかを設定します。

service cloud.firestore {
  match /databases/{database}/documents {

    // Match any document in the 'cities' collection
    match /cities/{city} {
      allow read: if <condition>;
      allow write: if <condition>;
    }
  }
}

こんな形でまだ入り口ですが、いろいろと触っていきながら調べてみようと思います😆

コメント

タイトルとURLをコピーしました