下一个SP是对集合中所有文档进行统计的一个attampt,并且通常会了解如何处理整个集合。如何统计所有文档,azure DocumentDB
出于某种原因,接下来的SP返回
{ “计数”:0, “QueryCount”:0}
,而我希望它返回
{ “count”:1000,“QueryCount”:1}
SP:
function CountAll(continuationToken) {
var collection = getContext().getCollection();
var results =0;
var queryCount = 0;
var pageSize = 1000;
var responseOptionsContinuation;
var accepted = true;
var responseOptions = { continuation: continuationToken, pageSize : pageSize};
if (accepted) {
accepted = collection.readDocuments(collection.getSelfLink(), responseOptions, onReadDocuments);
responseOptions.continuation = responseOptionsContinuation;
}
setBody();
function onReadDocuments(err, docFeed, responseOptions) {
queryCount++;
if (err) {
throw 'Error while reading document: ' + err;
}
results += docFeed.length;
responseOptionsContinuation = responseOptions.continuation;
}
function setBody() {
var body = { count: results, QueryCount: queryCount};
getContext().getResponse().setBody(body);
}
}
不知道我是否理解了这个问题,但是您可以在SQL/Linq中使用ORDER BY和LIMIT进行精确分页,或者您可以使用'options = new FeedOptions {MaxItemCount = 10}'进行近似分页。这有帮助吗? –
寻呼正在帮助,如果我可以问下一页,直到我有所有的页面。其他方面,您如何查询20,000个文档? –
您可以用MaxItemCount的-1指定“尽可能多”。我仍然没有跟随。你想做什么?你使用哪些代码来尝试这样做?你期望什么输出/响应?这与你实际得到的结果有什么不同? –