什么你要找的是表/查询对象的includeTotalCount
方法(遗憾的是它是一个从文档丢失,我将提交错误的产品团队有它固定的)。
当您在查询对象上调用read
时,它将默认返回50个(IIRC,数字可能不相同)元素,以防止天真的调用返回非常大的表中的所有元素(从而导致预留服务的出站带宽成本,或免费配额的配额)。因此,获取表格中的所有元素,并获得结果的长度可能不准确。
如果你想要的是表中元素的数量,你可以使用下面的代码:返回零元素和总数。
var table = client.getTable('tableName');
table.take(0).includeTotalCount().read().then(function (results) {
var count = results.totalCount;
new Windows.UI.Popups.MessageDialog('Total count: ' + count).showAsync();
});
如果您想查询一些元素,并且还包括总计数(即寻呼),只需添加相应take()
和skip()
电话,也是includeTotalCount
为好。
谢谢carlosfigueira!它工作:)。有没有办法在azure方面执行这个过程,并将行计数结果单独返回给客户端应用程序? – 2013-03-25 15:20:55
如果提供一个简单的'Query'方法'.count()'就可以了。 .getTable('tableName')。count()'而不是'read()'得到标量结果; – SliverNinja 2013-03-25 16:17:30
好主意,会向产品团队提出建议。 – carlosfigueira 2013-03-25 18:37:20