MaxItemCount
- максимальное количество предметов, которое вы получите за одну операцию перечисления.Он не возвращает первые 25 документов, а, скорее, все документы, которые соответствуют этому запросу, в агрегированных пакетах по 25 документов на перечисление.
Если вы хотите, чтобы 25 верхних элементов, ваш код должен выглядеть следующим образом:
[HttpGet]
public async Task<IEnumerable<Person>> Get()
{
this.client = new DocumentClient(new Uri(EndpointUri), PrimaryKey);
FeedOptions queryOptions = new FeedOptions { EnableCrossPartitionQuery = true };
var personQuery = this.client.CreateDocumentQuery<Person>(
UriFactory.CreateDocumentCollectionUri(DbId, CollectionId), queryOptions)
.Where(f => f.NameFirst != "Andersen").Take(25).AsDocumentQuery();
List<Person> retVal = new List<Person>();
while(personQuery.HasMoreResults)
{
var results = await personQuery.ExecuteNextAsync<Person>();
retVal.AddRange(results);
}
return retVal;
}
В зависимости от того, как индексируются строки в вашей коллекции, вам также может потребоваться установить для свойства EnableScanInQuery
объекта FeedOptions
значение true
.