2024 ソフトウェア設計及び演習用の班Wiki
23::gr01::データベース(DB)モジュール
概要
データベースを操作・参照するモジュール群です。
-
database.js
※下記のモジュールにおいてデータベースを登録・参照しています。本来ならば独立したひとつのモジュールにするべきでしたが、最終発表までのあらゆるコストを鑑みてそのままにすることにしました。(2023/06/30時点)
- main.js
- setting.js
- inputs.js
- records.js
- intake_cal.js
- target_burned.js
利用したツール
- Google Firebaseの Cloud Firestore機能
- Google Firebaseは、モバイルアプリやWebアプリのためのバックエンドプラットフォームです。
- Firebase Cloud Firestore はFirebase と Google Cloud からのモバイル、ウェブ、サーバー開発に対応した、柔軟でスケーラブルなデータベースです。Cloud Firestoreを使う利点を以下に挙げます。
-
柔軟性
Cloud Firestore データモデルは、柔軟な階層型データ構造に対応しています。データはドキュメントに格納され、ドキュメントはコレクションにまとめられます。ドキュメントには、サブコレクションの他に複雑なネスト オブジェクトを含めることができます。 - 高機能なクエリ処理
Cloud Firestore では、個別のドキュメントを取得する場合や、クエリ パラメータに一致するすべてのドキュメントをコレクションで取得する場合に、クエリを使用できます。クエリには複数の連鎖フィルタを使用でき、またフィルタ処理と並べ替え処理を組み合わせることができます。デフォルトではクエリにはインデックスが付いているので、クエリのパフォーマンスは、データセットではなく結果セットのサイズに比例します。 - リアルタイムアップデート
Realtime Database と同様に、Cloud Firestore はデータ同期を使用して、すべての接続端末のデータを更新します。ただし、シンプルな 1 回限りの取得クエリを効率的に実行するようにも設計されています。
ユーザ管理の実現方法
- Firebase の CDN に保存されているfirestoreライブラリを追加し、各メソッドをインポートした
- "https://www.gstatic.com/firebasejs/9.22.0/firebase-app.js"
インポートしたメソッドの説明
- initializeApp
- アプリで Firebase を初期化して、Firebase アプリ オブジェクトを作成します。Firebase アプリはコンテナに似たオブジェクトで、一般的な構成を保存し、Firebase サービス全体で認証を共有します。コードで Firebase アプリ オブジェクトを初期化すると、Firebase サービスを追加して使用できるようになります。
- getFirestore
- Cloud Firestore のインスタンスを初期化します。
- doc
- ドキュメントデータのインスタンスを作成します。Cぉud フィレsトレ のインスタンスへの参照(ref)を返す。
- setDoc
- 単一のドキュメントを作成または上書きします。
- Timestamp
- firebase上のタイムスタンプ型のクラス(オブジェクト)です。now()メソッドで現時点の日付時刻データを返します
- getDoc
- データベースから最新のドキュメント スナップショットを取得します。
- collection
- コレクション内のすべてのドキュメントを取得する参照オブジェクトを返す。
- getDocs
- データベースから複数の最新のドキュメント スナップショットを取得します。
最終更新日:2023/06/30 17:40:40