Показать загрузчик до того, как Axios получит данные, используя .get

Курсор в MongoDB по умолчанию возвращает до 101 документа или достаточно, чтобы довести вас до 1 МБ. Вызывает итерацию через курсор после всплытия до 4 МБ. Количество возвращаемых документов будет функцией того, насколько важны ваши документы:

Пакеты курсора

Сервер MongoDB возвращает результаты запроса пакетами. Размер партии не будет превышать максимальный размер документа BSON. Для большинства запросов первая партия возвращает 101 документ или достаточно документов, чтобы превысить 1 мегабайт. Последующий размер партии составляет 4 мегабайта. Чтобы переопределить размер пакета по умолчанию, см. Раздел batchSize () и limit ().

Для запросов, которые включают операцию сортировки без индекса, сервер должен загрузить все документы в памяти для выполнения сортировки и будет возвращать все документы в первой партии.

Когда вы перебираете курсор и доходите до конца возвращенной партии, если есть больше результатов, cursor.next () будет выполнять операцию getmore для извлечения следующая партия.

blockquote>

http://docs.mongodb.org/manual/core/cursors/

Вы можете использовать batch_size ( ) в pymongo на курсоре для переопределения по умолчанию - однако он не будет превышать 16 МБ (максимальный размер документа BSON):

batch_size (batch_size)

Ограничивает количество документов, возвращенных в одной партии. Для каждой партии требуется обратная поездка на сервер.

Примечание

batch_size не может переопределить внутренние ограничения MongoDB на количество данных, которое оно вернет клиенту в одной партии ( т.е. если вы установите размер партии до 1 000 000 000, MongoDB в настоящее время будет возвращать только 4-16 МБ результатов за партию).

Повышает TypeError, если batch_size не является целым числом. Повышает значение ValueError, если batch_size меньше 0. Повышает InvalidOperation, если этот Курсор уже используется. Последний batch_size, примененный к этому курсору, имеет приоритет. Параметры:

batch_size: размер каждой партии запрошенных результатов.

blockquote>

http://api.mongodb.org/python/current/api/ PyMongo / cursor.html

0
задан user8463989 16 January 2019 в 15:28
поделиться

1 ответ

Я не уверен, правильно ли я понял, но я думаю, что вы ищете, это опция onDownloadProgress, которую вы можете добавить в конфигурацию запроса. это функция, которую вы можете реализовать, которая получает progressEvent. В этой функции вы можете установить счетчик.

Посмотрите на часть конфигурации запроса на их странице github

Небольшой пример для ясности:

axios.get('/account/active-listings', {
    onDownloadProgress: (pe) => document.querySelector('.place-to-insert-spinner').insertAdjacentHTML(loading spinner thingie)
})

РЕДАКТИРОВАТЬ: Вы, вероятно, должны удалить счетчик, когда ваш запрос завершен тоже.

0
ответ дан Nielsvandenbroeck 16 January 2019 в 15:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: