Was Sie suchen ist die includeTotalCount
Methode auf dem Tisch/Abfrageobjekt (leider ist es aus der Dokumentation fehlt, werde ich einen Fehler an das Produktteam Datei, die es zu haben, festgelegt).
Wenn Sie read
für das Abfrageobjekt aufrufen, gibt es standardmäßig 50 (IIRC, die Anzahl kann anders sein) Elemente zurück, um zu verhindern, dass ein naiver Aufruf alle Elemente in einer sehr großen Tabelle zurückgibt die ausgehenden Bandbreitenkosten für reservierte Dienste oder das Erreichen des Kontingents für freie Dienste). Es ist daher möglicherweise nicht korrekt, alle Elemente in der Tabelle zu erfassen und die Länge der Ergebnisse zu ermitteln.
Wenn Sie nur die Anzahl der Elemente in der Tabelle möchten, können Sie den folgenden Code verwenden: Zurückgeben Null Elemente und die Gesamtzahl.
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();
});
Wenn Sie einige Elemente abfragen möchten, und auch die Gesamtzahl (das heißt, für Paging), fügen Sie einfach die entsprechenden take()
und skip()
Anrufe, und die auch als auch includeTotalCount
.
Danke carlosfigueira! Es hat funktioniert :). Und gibt es einen Weg zu Führen Sie diesen Prozess auf der azurblauen Seite aus und geben Sie das Zeilenzählergebnis allein an die Client-App zurück? –
Es wäre großartig, eine einfache 'Query'-Methode' .count() 'bereitzustellen, die genau das getan hat .getTable ('tabellenname'). count() 'anstelle von' read() ' um das Skalarergebnis zu erhalten; – SliverNinja
Gute Idee, wird einen Vorschlag mit dem Produktteam einreichen. – carlosfigueira