クラウドデータベース
「ニフティクラウド mobile backend」について

Monaca から簡単に使えるクラウドデータベースとして「ニフティクラウド mobile backend」というサービスがあります。このサービスは「mobile backend as a Service」の頭文字をとって mBaaS と呼ばれるジャンルに属するクラウドサービスで、データベース機能である「データストア」をはじめとして「プッシュ通知」「会員管理」「ファイルストア」「スクリプト」といった、スマホアプリのバックエンド機能を一連でそろえているサービスです。これらの機能はすべて JavaScript SDK を提供しているため、Monaca 環境からも簡単に使え、データの保存・取得・条件検索といったデータベースの操作も簡単に行えます。
今回の記事では以下のサンプルプロジェクトを元に Monaca から mBaaS のクラウドデータベース「データストア」を使う方法をご紹介します。

▼サンプルプロジェクト
Monacaとクラウドデータベースを連携してみよう!

mBaaSとMonacaを連携させるには?
押さえておくべきポイント

mBaaS を使って Monaca からデータの保存・取得・条件検索を行うために事前準備として2つの設定を行う必要があります。

設定の1つ目は、SDK のインストールです。mBaaS では、iOS/Android/JavaScript/Unity の4種類 SDK を提供しています。Monaca で
mBaaS を利用するためには、JavaScript SDK をインストールします。

設定の2つ目は、API キーを使った SDK の初期化です。APIキーは、アプリケーションキーとクライアントキーの2種類からなるもので Monaca と mBaaS 間でアクセスの認証を行う際に必要なものです。初期化は下記のコードを書きます。

アプリケーションキーとクライアントキーは mBaaS でアプリ作成時に発行された API キーに置き換えます。以上の2点によって、mBaaS と Monaca の連携は完了となります。

▼参考
SDKのインストール手順
mBaaSとMonacaの連携手順

データの保存・取得・条件検索の実装例

ここからは、データの保存・取得・条件検索についてコード実装例とあわせてご紹介します。

(1)データの保存

データの保存は下記のようなコードで行います。

まず、データの保存先クラスとして SaveData をコード2行目のように定義することで、mBaaS のデータストアに SaveData というクラスが出来ます。次に、SaveData クラスにデータを保存するためのインスタンス saveData を作成したら、このインスタンスに .set() で保存したいフィールドとデータを引数として設定します。最後に、.save() でデータストアへの保存を実行します。

クラス:mBaaS のデータストアにおけるテーブル
フィールド:mBaaSのデータストアにおけるカラム

(2)データの取得

データの取得は下記のように実装します。

上記の例では、コード2行目でデータを取得するクラスを指定しています。 .order() メソッドでは取得するデータをどのように並び替えるかを指定するメソッドです。第一引数に「フィールド」を指定する”文字列”、第二引数に「降順か昇順か」を指定する”真偽値”を指定します。今回の場合であれば、「createDate」フィールドを「降順」に並び替えるようにしています。
.fetchAll()メソッドを続けることで、並び替えされたデータの取得が実行されます。

(3)データの条件検索

データの検索について実装は下記のように行いますが、中でも特に重要な2つのメソッドを紹介します。

  • .lessThanOrEqualTo()
  • .greaterThanOrEqualTo()

.lessThanOrEqualTo() は、入力した値以下のオブジェクトを検索するメソッドです。ここでは、引数に createDate{ “__type”: “Date”, “iso”: date.toISOString() } を設定することで、入力した日付よりも以前に登録されたデータを検索できるようになっています。
.lessThanOrEqualTo() のかわりに .greaterThanOrEqualTo() を指定すると、入力した日付よりも以後に登録されたデータを検索できるようになります。

この後に .order().fetchAll() を続けることで、並び替えと条件に合致するデータの全件取得を行います。

まとめ

mBaaS と Monaca を連携させることで、データの保存や検索といった機能もたった数行程度のコードでアプリに導入することが可能です。

▼サンプルプロジェクト
Monacaとクラウドデータベースを連携してみよう!

mBaaS のデータストアを使って導入できる機能はまだまだ他にもありますので、機能を組み合わせてアプリ開発に役立ててみてください。また、お悩みの際には是非mBaaSの「サンプルとチュートリアル」もチェックしてみましょう!

サンプルとチュートリアルのご紹介

mBaaS ではデータストアに関連したサンプルとチュートリアルを多数ご用意しております!データストアの様々な活用方法を紹介しているので、アプリ開発のご参考にしてみてください。