Как выбрать посты тысяч тысяч следующих пользователей в azure cosmos db? - PullRequest
1 голос
/ 08 октября 2019

Я создал образец базы данных cosmos, используя следующую ссылку.

https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-model-partition-example

И это хорошая работа. Но у меня есть одна большая проблема. как выбрать топ как минимум 100 постов из моих тысяч тысяч подписчиков. Я думаю много дней. У меня есть миллион следующих пользователей. они и их сообщения содержатся в одном документе. что я должен делать? и какой запрос написать?

Можете ли вы мне помочь, пожалуйста!

Спасибо за каждого.

1 Ответ

0 голосов
/ 08 октября 2019

Получите ваше беспокойство: Top ключевое слово хорошо работает с 1000 элементов, но возможно ли это с 100 000 элементов или более?

На основании документа, которым я поделился в комментарии , CosmosDB выделяет фиксированное количество времени и ресурсов для каждого запроса, а когда это достигается, возвращает маркер продолжения, который действует как закладка для возобновления выполнения. В основном это зависит от настроек пропускной способности: если размер данных слишком велик, может возникнуть ошибка 429. См. Http-код запроса: https://docs.microsoft.com/en-us/rest/api/cosmos-db/http-status-codes-for-cosmosdb.

. Чтобы решить эту проблему, DocumentDB поддерживает длительные запросы с помощью маркеров продолжения . Можно установить для свойства maxItemCount значениеподкачки данных результатов. Если ключевое слово top должно следовать некоторым жестким правилам, таким как select top 100 from c where datetime>XXXXX, оно немного сложнее. Вам нужно обработать данные подкачки по коду, чтобы получить окончательный результат.

...