使用延续令牌从DocumentDb中获取文档

时间:2018-06-22 18:55:49

标签: azure azure-cosmosdb

我有一个DocumentDb数据库,其中包含37个文档的集合,每个文档大约150Kb,现在我使用以下代码段通过分页获取文档

    var options = new FeedOptions
    {
        MaxItemCount = 100
    };

    var query = client.CreateDocumentQuery<Document>(collection, options).AsDocumentQuery();

    while (query.HasMoreResults)
    {
        var result = query.ExecuteNextAsync<Document>().Result;
        Console.WriteLine("Quota Usage: {0}", result.CurrentResourceQuotaUsage);
        Console.WriteLine("Continuation Token: {0}", result.ResponseContinuation ?? "null");
        var list = result.ToList();
        Console.WriteLine("Document Count: {0}", list.Count);
    }

虽然我得到的结果很奇怪

Quota Usage: documentSize=4;documentsSize=4386;documentsCount=37;collectionSize= 4395; 

Continuation Token: null 

Document Count: 36

我没有得到最后一个文档,因为连续令牌在获取36个文档后却变为null,而文档计数确实显示为37。我正在努力理解这种行为,并且有一种方法可以使这项工作返回所有文件。

0 个答案:

没有答案