MSDN ライブラリ

データの読み取りと書き込み

 

JavaScript バックエンド モバイル サービスでは、tables オブジェクトを使用して、サーバー スクリプトから SQL データベースに格納されているデータを操作します。テーブルの操作では、tables はグローバル オブジェクトです。

次の例では、permissions テーブルへのアクセスに tables グローバル オブジェクトが使用されます。このテーブルに対してクエリを実行し、ユーザーが新しい注文の作成を許可されているかどうかを調べます。

function insert(item, user, request) {
    var permissionsTable = tables.getTable('permissions');

    permissionsTable.where({
        userId: user.userId,
        permission: 'submit order'
    }).read({
        success: checkPermissions
    });

    function checkPermissions(results) {
        if (results.length > 0) {
            // Permission record was found. Continue normal execution.
            request.execute();
        } else {
            console.log('User %s attempted to submit an order without permissions.', user.userId);
            request.respond(statusCodes.FORBIDDEN, 'You do not have permission to submit orders.');
        }
    }
}
System_CAPS_noteメモ

注: userId プロパティを使用するときは、権限を Only Authenticated User に設定することをお勧めします。それ以外の場合は、認証されていないユーザーに対して返される undefined の値をコードで処理する必要があります。詳細については、「モバイル サービスでのユーザーの認証」を参照してください。

カスタム API では、次の GET メソッドと同様に、指定された request.service オブジェクトから tables オブジェクトが取得されます。

exports.get = function(request, response) {    
    var myTable = request.service.tables.getTable('permissions');
    // Do something with the table here…
};

次の例では、アイテムが更新されるたびに、新しいレコードが audit テーブルに挿入されます。

function update(item, user, request) {
    request.execute({
        success: insertAuditEntry
    });

    function insertAuditEntry() {
        var auditTable = tables.getTable('audit');
        var audit = {
            record: 'checkins',
            recordId: item.id,
            timestamp: new Date(),
            values: JSON.stringify(item)
        };
        auditTable.insert(audit, {
            success: function() {
                // Write to the response now that all data operations are complete
                request.respond();
            }
        });
    }
}

詳細については、「モバイル サービスのスクリプト リファレンス」を参照してください。

表示:
© 2016 Microsoft