Windows azure移动服务脚本

时间:2014-02-21 19:00:15

标签: windows node.js azure azure-mobile-services

我有问题如何在Windows Azure中支持我的移动服务请求。 问题: 如果我从服务器回复客户端有任何记录或没有记录,我如何检查。我有这个,但它没有工作

function read(query, user, request) {
if (query.take(recordCount) > 0) {
    request.respond(200, "Exist");
} else {
    request.respond(500, "ERROR");
}

2 个答案:

答案 0 :(得分:1)

以下是查看查询结果的示例:

function read(query, user, request) {

    request.execute( {success: function(results) {
        console.log(results);
        request.respond(200, results);
    }, error: function(error) {
        console.log('error: ', error);
        request.respond(500);
    }});

}

在成功区块中,您可以检查以确保结果不为空,如果有结果则回复200或如果没有则回复500。如果您不想执行完整的读取查询,您也可以使用mssql模块执行自定义的sql语句(即从tablename中选择count(*))。

答案 1 :(得分:1)

除了@Chris建议的内容之外,您还可以使用includeTotalCount()函数以及take(0)(如果您只关心结果数量,而不是结果本身),仅使用function read(query, user, request) { query.includeTotalCount(); // tell me how many items there are query.take(0); // but don't bother returning them request.execute({ success: function(results) { if (results.totalCount > 0) { request.respond(200, { status: 'Item exists' }); } else { request.respond(500, { status: 'ERROR' }); } } }); } 函数计算将在查询中返回的项目:

includeTotalCount

或者,如果您真的想知道的是否有任何结果,您甚至可以跳过take(1)来电,并强制响应最多返回1个结果function read(query, user, request) { query.take(1); // return at most one item request.execute({ success: function(results) { if (results.length > 0) { request.respond(200, { status: 'Item exists' }); } else { request.respond(500, { status: 'ERROR' }); } } }); } 拨打:

{{1}}