ソースコードの移行

このドキュメントでは、ニフクラ mobile backendからFirebase Firestoreにソースコードを移行する手順を解説しています。

具体的には、ニフクラ mobile backendの基本的な初期化、データの書き込み、および読み込み処理を例にとり、これらの処理をFirebase Firestoreのコードにどのように変換・適用するかを説明します。

また、本ドキュメントで扱うコードのオリジナルプロジェクトは、ニフクラ mobile backendとFirebase Firestoreをそれぞれ使用した二つのバージョンで、GitHubリポジトリにて公開しています。

初期化

NCMB データストアの初期化:

NCMBでは、アプリケーションキーとクライアントキーを用いてサービスを初期化します。これらのキーは、NCMBの管理画面から取得することができます。

window.NCMB オブジェクトを作成し、その中にアプリケーションキーとクライアントキーを渡すことで、NCMBの各種機能を使用できるようになります。

Firestoreの初期化:

Firestoreを使用するには、まずFirebaseのSDKをインポートし、Firebaseプロジェクトの設定を行います。

ウェブアプリの設定情報には、Firebaseコンソールから取得した設定情報を使用します。ウェブアプリの登録と設定情報の取得手順は、こちらを確認してください。

ここでのポイントは、Firestoreを使うためには、まずFirebaseアプリのインスタンスを初期化し(initializeApp)、その後にFirestoreのインスタンス(getFirestore)を取得する必要があることです。firebaseConfig には、Firebaseプロジェクトの設定情報を設定します。


書き込み

NCMBでの書き込み処理:

NCMBでは、new Records() を使用して新しいレコードを作成し、.set() メソッドで各フィールドにデータを設定します。レコードが新規か既存かによって処理が異なります。

  • 新規レコードの場合.save() メソッドを使用してデータを保存します。

  • 既存レコードの場合:レコードのIDを設定し、.update() メソッドで更新します

Firestoreでの書き込み処理:

Firestoreでは、addDoc()updateDoc() メソッドを使用してデータを保存または更新します。これらはFirebaseのFirestoreライブラリから提供されています。

  • 新規レコードの場合addDoc() メソッドを使用して新しいドキュメントを作成し、データを保存します。

  • 既存レコードの場合doc() でドキュメントの参照を取得し、updateDoc() で更新します。


読み込み

NCMB での読み込み処理:

NCMBでは、データを読み込むには、対象のデータストアクラス(例ではRecords)を使用し、fetchAll() メソッドでデータを取得します。ここでは、最大10件のデータを取得しています。

このコードでは、取得したデータをmap関数を使って加工し、テーブルに表示しています。

Firestoreでの読み込み処理:

Firestoreでは、getDocs() 関数と collection() 関数を使用してデータを取得します。getDocs() 関数は、指定したコレクション内のドキュメントのスナップショットを返します。Firestoreの場合も、取得したデータをmap関数で加工し、テーブルに表示しています。

最終更新

役に立ちましたか?