Если ваша коллекция разбита на разделы, то для запроса, обновления, удаления необходимо задать ключ раздела.
Если вы не установили, возможно, вы могли увидеть ниже ошибку:
В этой ситуации, если вы не хотите устанавливать какой-либо ключ раздела или не знаете, к какому разделу относятся данные строки, тогда вы можете установить enableCrossPartitionQuery= true
визбежать ошибкиЕсли вы установите enableCrossPartitionQuery= true
, это означает, что этот запрос будет сканировать все разделы для фильтрации данных. Конечно, производительность запросов будет снижаться.
Кстати, если размер ваших данных небольшой, я думаю, что влияние может быть небольшим. Однако, если размер данных большой, я советую вам стараться избегать установки этого свойства.
Я протестировал пример проекта: https://github.com/Azure-Samples/azure-cosmos-db-sql-api-nodejs-getting-started.git и для него не требуется ключ разделадействительно, когда контейнер разбит на части.
Однако, на основе утверждений в cosmos db rest api :
Я протестировал Java SDK, и он требует ключ разделения, когда я запрашиваю многораздельный контейнер. В любом случае, я хочу сказать, что если вы встретили ошибку, которая указывает на отсутствие ключа раздела, вы можете попытаться добавить свойство enableCrossPartitionQuery = true
для ее решения. В основном я все же предлагаю вам предоставить ключ раздела для производительности запросов.