假设我有两个集合,每个集合中有10个文档。如果我想要检索最多15个文档,建议进行分页的方法是什么?
当我运行下面的代码时,我得到20个结果。它开始请求返回10的第一个集合,然后第二个也返回10,但它应该返回5,因为MaxItemCount是15。
var batches = new List<IEnumerable<T>>();
var feedOptions = new FeedOptions
{
MaxItemCount = 15
};
var docQuery = Client.CreateDocumentQuery<T>(Database.SelfLink, feedOptions)
.Where(predicate).AsDocumentQuery();
do
{
var batch = await docQuery.ExecuteNextAsync<T>();
batches.Add(batch);
} while (docQuery.HasMoreResults);
var docs = batches.SelectMany(b => b).Take(maxItemCount.Value);
return docs;
答案 0 :(得分:3)
MaxItemCount控制每页的结果数,而不是返回的总结果数。要减少结果总数,请更改while子句以检查例如(docQuery.HasMoreResults&amp;&amp; batch.Length&lt; = maxItemCount.Value)。
希望这有帮助。