1

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 を使用してバックエンドで結合を実装する方法はありますか? または他のより良い方法はありますか?

どうもありがとうございました!

4

1 に答える 1

1

SQL stmt を生成し、 sql stmtを含むことができるオブジェクトをjoin活用してから、 data.execute関数を使用して SQL stmt を直接実行できます。同様のシナリオについては、サンプルhttps://github.com/Azure/azure-mobile-apps-node/blob/master/samples/custom-api-sql-stmt/api/completeall.jsを参照できます。sqlQuery

一方、結合ステートメントを含む Azure SQL データベースにビュー テーブルを作成して、Easy API スクリプトで簡単に使用し、ビュー SQL ステートメントを維持することができます。

于 2016-05-02T02:50:19.067 に答える