我们在带有分页的表中显示来自 CosmosDb 的数据。底层查询使用分组以及 OFFSET 和 LIMIT。
我们需要知道总行数或总页数才能显示页码和“转到最后”。这可能吗?
PS。在 Azure 数据资源管理器中运行查询时,我可以看到
Output document count
哪个接缝正是我正在寻找的内容。是否可以使用 GetItemQueryIterator
获取该值?
FeedResponse
可以通过 feedResponse.Diagnostics.GetQueryMetrics()
使用 QueryMetrics。该指标对象有一个 OutputDocumentCount
,它似乎与查询上下文中的文档数量相关(没有 OFFSET 和 LIMIT)
long totalCount = 0;
var data = new List<JObject>();
using (FeedIterator<JObject> resultSetIterator = _container.GetItemQueryIterator<JObject>(queryDefinition))
{
while (resultSetIterator.HasMoreResults)
{
FeedResponse<JObject> response = await resultSetIterator.ReadNextAsync();
data.AddRange(response);
var metrics = response.Diagnostics.GetQueryMetrics();
if (metrics != null)
totalCount = metrics.CumulativeMetrics.OutputDocumentCount; // Here it is ;)
}
}