У меня достаточно большая коллекция космических БД (около 1,5 миллионов записей). Если я запускаю запрос в индексированном поле в проводнике данных , например:
SELECT * FROM c WHERE ARRAY_CONTAINS(c.InnerArray, { "MyValue": 1234 }, true)
, я получаю результат, как и ожидал.
Если я выполняю тот же запрос через REST API, я получаю:
{
"_rid": "...",
"Documents": [],
"_count": 0
}
Эта разница различается. Для некоторых документов я получаю его в обозревателе данных портала И API REST, для других - только в Обозревателе данных.
Я сократил одно отличие, но не уверен, что такое «исправление» (при условии, что это это проблема).
Если я экспортирую 'Метрики запросов на разделы (CSV)' из портала, я вижу, что документы, которые возвращаются через API REST, находятся в пределах 'идентификатора диапазона ключа раздела' 0 Те, которые не отображаются над API REST (но появляются на портале), находятся в «id диапазона ключей раздела» 1.
Есть ли какая-то дополнительная конфигурация или заголовок, которые мне нужно установить для API REST? ? Я устанавливаю заголовки запросов, включая x-ms-documentdb-query-enablecrosspartition
, и получаю нулевые токены продолжения в ответе.
Дополнительное примечание : режим соединения C# SDK (как в шлюзе, так и в прямом) вернет документы что REST API не делает.