データの生成/読出し/更新/削除を行う ( Part 2 ) - Microsoft Azure Mobile Services ( JavaScript バックエンド )
こんにちは。
マイクロソフトの渡辺です。
データの生成/読出し/更新/削除を行う ( Part 1 ) - Microsoft Azure Mobile Services ( JavaScript バックエンド ) に続き、Part 2 です。
※これまでの記事
- 「 Microsoft Azure Mobile Services を JavaScript および .NET バックエンドで作成してみる 」
- 「 Microsoft Azure Mobile Services の JavaScript/.NET バックエンド 選択による違い 」
- 「 Microsoft Azure Mobile Service でのデータ アクセスの仕組み 」
Part 1 では、データの基本操作について確認しました。Part 2 では、もう少し細かい機能について見ていきたいと思います。
動的スキーマで新しい列が生成される
通常データベースには、あらかじめ定義されたスキーマに基づいてデータの挿入または更新のリクエストを行います。
一方、JavaScript バックエンドのモバイルサービスでは、動的スキーマを使用することができます。動的スキーマは既定で有効です。
動的スキーマを有効にすると、データの生成または更新のリクエストした際に送られた JSON オブジェクトに基づいて、モバイルサービスが自動的に新しい列をテーブルに追加します。
つまり、あらかじめ定義されてはいなかった列についても、リクエストを投げると勝手に追加してくれるという形です。型についてはデータの内容から推定されて自動決定されます。
例えば下図のようなスキーマの状態の場合を見てみましょう。
列には、dynamic 列や date 列はありませんでしたが、リクエストとして投げる JSON オブジェクトに含めてみます。
実行すると、スキーマが下図のように変更されています。型がデータから推定され自動的に列が追加されていることがわかります。
動的スキーマの機能はアプリ開発を進める上で便利な機能ですが、実際にアプリを公開する前に無効にすることをお勧めします。
また、1点注意としては、作成された列のデータ型はモバイルサービスからその後変更することができません。型を変更したい場合は、その先につながっている SQL データベースを直接変更する必要があります ( 参考:「 Microsoft Azure Mobile Service でのデータ アクセスの仕組み 」)。
テーブルからデータを読み出す:応用編
前回の データの生成/読出し/更新/削除を行う ( Part 1 ) では、基本的なデータの読出し方法を確認しました。ここでは、様々な条件を指定して、データを読み出してみます。
data read method of azure mobile services
その他の、様々なデータ読出しの方法については、「 方法:モバイル サービスのデータを紹介する 」( HTML クライアントの使用方法 - Azure モバイル サービス )にヒントがありますので、ご参照ください。