我有一个使用 Azure 移动服务作为后端的移动应用程序。我有一个场景,我需要修改客户端从数据库请求的元素。我需要根据其最佳分数和表中所有其他记录的最佳分数来计算所请求记录的排名和百分位数。我按照此处的示例编写了以下脚本:
function read(query, user, request) {
request.execute({
success: function(results) {
results.forEach(function(item) {
var totalsql = "SELECT COUNT(*) FROM scoreInfo";
mssql.query(totalsql, {
success: function(totalresults) {
var totalCount = totalresults[0].Column0;
var moresql = "SELECT COUNT(*) FROM scoreInfo WHERE bestscore > ?";
mssql.query(moresql, [item.bestscore], {
success: function(moreresults) {
var moreBestCount = moreresults[0].Column0;
item.bestrank = moreBestCount + 1;
item.bestpercentile = 100 - moreBestCount*100/(totalCount+1);
}
});
}
});
});
request.respond();
}
});
}
但我没有看到客户端预期的结果。我什至尝试在服务器端记录结果,但我在客户端看到的与记录的不匹配。我究竟做错了什么?