Cloud Firestore概要
このページのゴール
- Cloud Firestoreの概要を知る
- Cloud Firestoreの設定を行う
- Cloud Firestoreの仕組みを知る
Cloud Firestore
Cloud Firestoreとは
Cloud Firestore は
アプリのデータを保存・同期する仕組みを提供するデータベースです ✨
アプリのデータを簡単に保存・取得したり、
複数の端末でデータを同期する機能が簡単に作れます。
Firebaseプロジェクト作成・設定
Firebase プロジェクト作成
Cloud FirestoreはFirebaseの機能の1つです。
まずは、Firebaseのプロジェクトを作成しCloud Firestoreが使える状態にしましょう。
Firebaseコンソールからプロジェクト作成 | |
プロジェクト名を入力し続行 | |
続行 | |
地域と利用規約を確認しプロジェクト作成 | |
準備ができたら続行 | |
プロジェクトが作成できました 🎉🎉🎉 |
Cloud Firestoreの機能を有効化
プロジェクトが作成できたら、次はCloud Firestoreの機能を有効化してみましょう。
ここでは、アクセス制限の無いテストモードで設定してみます。
サイドナビの「開発 → Database」を選択 | |
「データベースの作成」を選択 | |
「テストモードで開始」を選択し次へ ❗️注意事項❗️ 今回は試すことが目的なので、 アクセス制限の無いテストモードを選択しています。 |
|
ロケーション「asia-northeast1」を選択し完了 |
|
Cloud Firestoreが使えるようになりました 🎉🎉🎉 |
Cloud Firestoreの仕組み
Cloud Firestoreはデータベースです。
他のデータベースでも同じことですが、
専用の形式(データモデル)に従ってデータを保存する必要があります。
実装を始める前に
Cloud Firestoreのデータモデルに関して紹介していきます 💪
データモデル
Cloud Firestoreでデータを保存する時は、大きく3つの要素を指定することになります。
- データ
- フィールドと値のペアを複数持っている(オブジェクト)
- ドキュメント
- 1つの
データ
を持っている - ドキュメントのIDを指定する必要がある
- 1つの
- コレクション
- 複数の
ドキュメント
を持っている - コレクションのIDを指定する必要がある
- 複数の
文章で書くと少し難しく感じますが、図で表すとこんな感じになります。
ツリー構造状にデータを保存できるんですね 👀
管理画面からデータを作成してみる
実際に試したほうが理解が深まると思うので、
次のような構造のデータをFirestoreの管理画面から作成してみましょう 💪
コレクション:users
|
├- ドキュメント:id_abc
| |
| ├- データ:{name: "山田", age: 20}
| |
| └- サブコレクション:orders
| |
| ├- ドキュメント:id_123
| | |
| | └- データ:{price: 500, date: "2/15"}
| |
| └- ドキュメント:id_456
| |
| └- データ:{price: 300, date: "5/10"}
|
└- ドキュメント:id_def
|
└- データ:{name: "佐藤", age: 30}
Firestoreの管理画面を開き 「コレクションを開始」を選択 |
|
コレクションIDに「users」を入力し次へ ドキュメントIDに「id_abc」を入力 フィールド「name」と「age」を追加し保存 |
|
コレクション「users」と ドキュメント「id_abc」が作成できました 🎉 もう一つドキュメントを追加してみます。 「ドキュメントを追加」を選択 |
|
ドキュメントIDとフィールドを入力し保存 コレクション「users」の中に 2つのドキュメントが作成できました 🎉 |
|
次は、ドキュメント「id_abc」の サブコレクションを作ります。 「コレクションを開始」を選択 |
|
先ほどと同じ様に コレクションID・ドキュメントID・フィールドを 入力し保存 |
|
サブコレクション「orders」の中に もう1つドキュメントを追加 |
|
完成です 🎉🎉🎉 |
まとめ
- Cloud Firestoreはアプリのデータを保存・同期する仕組みを提供するデータベース
- Cloud Firestoreを使う際は事前に設定を行う必要がある
- Cloud Firestoreのデータモデルはデータ・ドキュメント・コレクションで成り立っている
次回は、Cloud Firestoreを実際に使って
保存・取得・更新・削除の処理を実装していきます 💪💪💪