1

Azure Mobile Servicesテーブルの削除操作をオーバーライドして、実際の削除よりも更新のようにしたいと思います。名前付きの追加の列があり、削除操作が実行されるときにIsDeletedその値を設定したいと思います。true

私が必要としているのは次のとおりです。

  • del関数内で自分の「更新」を起動し、
  • 現在の削除request.execute()
  • 自分で回答を作成して送信する

これは、私のdel関数が次のようになっていることを意味します。

function del(id, user, request) {
    // execute update query to set 'isDeleted' - true

    // return standard response
    request.respond();
}

ご覧のとおり、関数の最初の部分である更新部分が欠落しています。書くのを手伝ってくれませんか。モバイルサービスサーバースクリプトリファレンスを読みましたが、サーバースクリプト関数内で追加のクエリを実行することについての情報がありません。

4

2 に答える 2

3

これを行うには、基本的に2つの方法があります。テーブルオブジェクトを使用する方法と、mssqlオブジェクトを使用する方法です。リンクは適切な参照を指しています。

mssqlの使用(私は試していません。SQLステートメントを更新する必要があるかもしれません):

function del(id, user, request) {
    var sql = 'UPDATE <yourTableName> SET isDeleted = true WHERE id = ?';
    mssql.query(sql, [id], {
        success: function() {
            request.respond(statusCodes.OK);
        }
    });
}

テーブルの使用(ここでも、メモ帳でのみテスト済み):

function del(id, user, request) {
    var table = tables.getTable('YourTableName');
    table.where({ id: id }).read({
        success: function(items) {
            if (items.length === 0) {
                request.respond(statusCodes.NOT_FOUND);
            } else {
                var item = items[0];
                item.isDeleted = true;
                table.update(item, {
                    success: function() {
                        request.respond(statusCodes.OK, item);
                    }
                });
            }
        }
    });
}
于 2012-11-16T18:45:17.453 に答える
0

チェックアウトしたいSQLServer用のNode.jsドライバーがあります。

モバイルサービスのスクリプトコンポーネントはnode.jsを使用します。Javascriptと呼ばれるAzureConfからのセッションをチェックして、クラウドに会うことをお勧めします

于 2012-11-16T08:45:37.483 に答える