Следующий SP - это attumpt, чтобы подсчитать все документы в коллекции и, в общем, научиться обрабатывать полную коллекцию.Как считать все документы, azure DocumentDB
По какой-то причине следующий обратный SP
{ "графа": 0, "QueryCount": 0}
в то время как я ожидал бы, чтобы вернуть
{ «счет»: 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);
}
}
Не уверен, что я понимаю вопрос, но вы можете выполнить точный пейджинг с ORDER BY и LIMIT в вашем SQL/Linq или вы можете сделать приблизительный пейджинг с помощью 'options = new FeedOptions {MaxItemCount = 10};'. Это помогает? –
Пейджинг помогает, если я могу спросить следующую страницу, пока у меня не будет всех страниц. Иными словами, как бы вы запросили 20 000 документов? –
Вы можете указать «получить столько, сколько сможете» с -1 для MaxItemCount. Я все еще не следую. Что ты пытаешься сделать? Какой код вы используете, чтобы попытаться это сделать? Какой результат/ответ вы ожидаете? и как это отличается от того, что вы на самом деле получаете? –