如何检索 Azure 移动服务表的行位置
How retrieve row position for azure mobile services tables
我使用 Azure 移动服务(在 HTML 客户端中)用于简单的分数墙应用程序。
首先,应用程序获取前 100 名分数
client.getTable("ScoreWall").orderBy("score").take(100).read().then(...
并稍后显示当前用户位置
client.getTable("ScoreWall").where({"userId":uid}).select("userId","score").read().then(...
但我想检索当前用户在世界排名中的位置。我没有找到任何选择的文档,例如:
select("row_position","userId","score")
如何检索此数据?
想不出在查询中完成所有这些操作的好方法,但给定只有 100 的数据集,进行一些后处理没有任何重大影响。这是我煮熟的东西(我把它放在 js 后端,因为我有一个可以尝试)。
function returnAll(req, res) {
var todoTable = req.service.tables.getTable('todoitem');
var n = 1;
var q = todoTable.select(function () {
var obj = { num: n, text: this.text };
n++;
return obj;
}).orderBy("text").take(100);
q.read({
success: function (results) {
var Sarah = {};
results.forEach(function (item) { if (item.text === "Sarah") { Sarah = item } });
res.send(200, { "results": results, "sarah": Sarah });
},
error: function (err) {
res.send(500, err);
}
});
}
显然,这是一个愚蠢的演示,但它明白了重点。结果如下:
{
"results": [
{
"num": 1,
"text": "Angela"
},
{
"num": 2,
"text": "Chris"
},
{
"num": 3,
"text": "John"
},
{
"num": 4,
"text": "Nikesh"
},
{
"num": 5,
"text": "Sarah"
}
],
"sarah": {
"num": 5,
"text": "Sarah"
}
}
在我的示例中,如果您要将其扩展到数百万行,则有几件事需要关注(但我可能会使用单独的作业来计算前 100 名并将其转储到表中或定期用 rank 标记用户对象以解决该规模),但对于 100, 这是体面的。
相关文章:
- 如何使用WCF服务和javascript表单post上传.doc文件
- 监视函数从服务返回不起作用,但作用域函数起作用
- jquery试图按名称获取按钮位置
- 通过Magento的网络服务检索运费
- 我可以获得相对于被点击元素的确切点击位置吗
- 谷歌地图固定位置覆盖
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 谷歌位置服务附近搜索结果基于正确的地图中心的位置
- 如何检索 Azure 移动服务表的行位置
- 在 Angular 服务中初始化数据的位置
- 如何使用JS(浏览器端)中的“require”和依赖注入,服务位置
- 如何从html5位置服务中隐藏域名
- 如果定位服务关闭,英特尔 XDK 地理位置将找不到纬度/经度
- 当位置服务被禁用时,Cordova Android-getCurrentPosition不会触发错误回调
- 如何改变Ember.js服务于静态资源的位置
- 在纯前端应用程序中存储服务凭据的位置和方式
- 发送地理位置在后台服务[钛]
- 是否有一种方法来检测移动设备是否有JavaScript启用的位置服务
- MapsApi -谷歌地图位置服务给出一个奇怪的错误
- 谷歌地图API方向服务在纬度和经度和地理位置标记之间