Экспорт (0) Печать
Развернуть все

Чтение и запись данных

Обновлено: Апрель 2014 г.

В серверной мобильной службе JavaScript объект tables используется для работы из серверных скриптов с данными, которые хранятся в базе данных SQL. В операциях с таблицами объект 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();
            }
        });
    }
}

Дополнительные сведения см. в статье Справочная информация о скриптах мобильных служб.

Показ:
© 2015 Microsoft