Azure Mobile Apps では、テーブル間のリレーションシップを作成する方法が提供されていないため、Node.js バックエンドでカスタム API を作成して、関連するテーブルからデータを返すことにしました。Mobile Services Docで説明されているように、SQL を使用してバックエンドで結合を実装するというアイデアでした。
問題は、古いモバイル サービスではなく新しいモバイル アプリを使用しているため、上記のコードが機能しなくなったことです。私が理解しているように、アーキテクチャはモバイル サービスからモバイル アプリに変更され、Node.js SDK は高速ミドルウェア パッケージです。そのため、 azure-mobile-apps/src/dataモジュールを利用して SQL 操作を処理します。
そのため、Node バックエンド内のカスタム API のテーブルから読み取るには、次のようなことを行う必要があります。
var queries = require('azure-mobile-apps/src/query');
module.exports = {
"get": function (req, res, next) {
var myTable = req.azureMobile.tables('TableName');
var query = queries.create('TableName');
query.where({'id':req.query.userId});
myTable.read(query).then(function(data){
res.send({ some: data });
});
}
};
しかし、SQL が公開されなくなったため、JOIN コマンドを使用して関連テーブルからデータを返すことはできません。ループとデータベースへの多くのリクエストを使用する必要があり、目的が無効になります。
- 新しい Mobile Apps Node.js SDK で SQL を使用してバックエンドで結合を実装する方法はありますか? または他のより良い方法はありますか?
どうもありがとうございました!