下一個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指定「儘可能多」。我仍然沒有跟隨。你想做什麼?你使用哪些代碼來嘗試這樣做?你期望什麼輸出/響應?這與你實際得到的結果有什麼不同? –