Чтобы настроить производительность API-интерфейса CosmosDB для MongoDB, мне нужно получить количество разделов в коллекции.
Наивный способ сделать это - запросить все различные значения дляключ разделения, например: (в C #):
var results = await SomeCollection.Distinct<string>("PartitionKey", filter: "{}").ToListAsync();
Но, конечно, для этого потребуется просмотреть каждый отдельный документ или, по крайней мере, отсканировать весь индекс, и произойдет сбой с Query exceeded the maximum allowed memory usage of 40 MB. Please consider adding more filters to reduce the query response size...
.
* 1008.* Я также рассмотрел
PartitionKeyRangeStatistics , но в нем явно указано
If your partition keys are below 1GB of storage, they may not show up in the reported statistics
, что относится к большинству разделов.
Любые идеи о том, как получить точное количество разделов вколлекция