销售电话: 1-800-867-1380

读取和写入数据

更新时间: 2014年4月

在 JavaScript 后端移动服务中,从服务器脚本使用 tables 对象处理 SQL Database 中存储的数据。在表操作中,tables 对象是全局的。

在以下示例中,使用全局 tables 对象访问 permissions 表,查询该表以确定是否授权该用户创建新订单。

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.');
        }
    }
}
note备注
注意:我们建议在使用 userId 属性时将权限设置为 Only Authenticated User。否则,你的代码必须处理为未进行身份验证的用户返回的 undefined 值。有关详细信息,请参阅移动服务中的用户入门

在自定义 API 中,从提供的 tables.request 对象获取 service 对象,如以下 GET 方法中所示。

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();
            }
        });
    }
}

有关详细信息,请参阅移动服务脚本参考

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2014 Microsoft