2014-09-17 2 views
0

Я получаю большую коллекцию от MongoDB, используя официальный драйвер C#. Это может занять много времени, и мне нужно указать прогресс в моем приложении. Я собираюсь сделать что-то вроде получения функции Count() из функции MongoCollection.FindAll(), установив размер партии (это я могу сделать), а затем подписаться на событие вроде OnBatchRead (это то, что я не могу сделать).MongoDB Найти индикатор прогресса работы в драйвере C#

Любые идеи о том, как я могу его решить?

+0

Вместо того, чтобы делать один запрос к базе данных и извлекать ваши данные, заново подумайте об этом, в большинстве случаев вам не нужно большое количество данных, которые будут представлены пользователю в других случаях, которые вы можете сделать aggretaes , калибровка значений для улучшения запросов, в любом случае вы можете выполнять подзапросы и подталкивать подмножество запроса клиенту, затем через каждую итерацию вы представляете индикатор выполнения, который вы указываете клиенту –

ответ

0

Если вы знаете общее количество всех документов, и вы продолжаете двигаться по мере прохождения каждой из них, вы знаете прогресс. 1/100, 2/100, 3/100 и т. Д. Не нужно иметь дело с размерами партии.

Смежные вопросы