首页 文章

覆盖Azure移动服务表上的删除操作

提问于
浏览
1

我想覆盖Azure Mobile Services表上的删除操作,使其更像是更新然后是真正的删除 . 执行删除操作时,我有一个名为 IsDeleted 的附加列和'd like to set it'的值为 true .

我想出来,我需要的是:

  • del 函数中激活我自己的'update',

  • 删除当前 request.execute()

  • 自己准备并发送回复

那个我的 del 函数看起来应该是这样的:

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

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

正如你所看到的,我错过了函数的第一部分 - 更新一部分 . 你能帮我写一下吗?我读了Mobile Services server script reference但没有关于在服务器脚本函数内进行其他查询的信息 .

2 回答

  • 0

    基本上有两种方法 - 使用tables object,并使用mssql object . 链接指向适当的参考 .

    使用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);
                        }
                    });
                }
            }
        });
    }
    
  • 3

    您可能想要查看Node.js driver for SQL Server .

    Mobile Services的脚本组件使用node.js.您可能想要查看AzureConf中名为Javascript, meet cloud的会话

相关问题