我需要为视频游戏制作在线排行榜。 我在Azure上使用移动服务。我有一张表应该只包含前100个分数(当然最高),所以在达到这个记录数之前,应该允许每个分数。 为此,我需要在Azure上的插入脚本中计算我的Leaderboard表的行数。
默认脚本为:
function insert(item, user, request) {
request.execute();
}
我的查询类似于:
SELECT COUNT (*)
FROM Leaderboard
我尝试使用 mssql.query ,但这就像忽略了部分代码。
var sql = "SELECT COUNT (*) FROM Leaderboard";
mssql.query(sql, {
success: function(results){
//do things
},
error: function(err) {
console.log("error: " + err);
}
});
我也尝试过:
var LeaderboardOnlineTable = tables.getTable('LeaderboardOnline');
LeaderboardOnlineTable.take(0).includeTotalCount().read().then(function (results) {
var count = results.totalCount;
});
我做错了吗?
提前致谢!
答案 0 :(得分:1)
这应该有效:
function insert(item, user, request) {
var LeaderboardOnlineTable = tables.getTable('LeaderboardOnline');
LeaderboardOnlineTable.includeTotalCount().read({success: insertRecord});
function insertRecord(results) {
var count = results.totalCount;
if (count < 100) {
request.execute();
} else {
// do whatever you need if the table is "full"
}
}
}