VENTAS: 1-800-867-1389

Leer y escribir datos

Actualizado: abril de 2014

En un servicio móvil de back-end de JavaScript, usa el objeto tables para trabajar directamente con datos almacenados en la Base de datos SQL desde scripts de servidor. En una operación de tabla, el objeto tables es global.

En el ejemplo siguiente, el objeto tables global se usa para tener acceso a la tabla permissions, que se consulta para determinar si el usuario tiene autorización para crear un nuevo pedido.

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.');
        }
    }
}
noteNota
Nota: se recomienda configurar los permisos en Only Authenticated User cuando se use la propiedad userId. De lo contrario, el código debe administrar los valores undefined que se devuelven para los usuarios no autenticados. Para obtener más información, vea Introducción a la autenticación en Servicios móviles.

En una API personalizada, el objeto tables se obtiene a partir del objeto request.service suministrado, como en el método GET siguiente.

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

En el ejemplo siguiente se inserta un registro nuevo en la tabla audit cada vez que se actualiza un elemento.

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

Para obtener más información, vea la Referencia de scripts de servidor de Servicios móviles

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2014 Microsoft