В чем разница между Limit и BatchSize в MongoCursor? - PullRequest
6 голосов
/ 23 ноября 2011

Объект курсора MongoDB предоставляет свойство BatchSize, свойство и и Limit, но я не могу найти какую-либо окончательную информацию, которая правильно проясняет разницу между ними.

Я использую драйвер .Net, для чего он стоит.

Ответы [ 2 ]

9 голосов
/ 23 ноября 2011

Предел - это общее количество результатов, которое вы хотите.Если ваш запрос вернет одну тысячу документов, но вам нужно только 5, вы можете использовать Лимит, чтобы ограничить размер общего результата.

BatchSize - это число результатов, которые должны быть возвращены в каждом пакете.Если ваш набор результатов для запроса большой, MongoDB не собирается возвращать все результаты в одном пакете.Он вернет подмножество общего результата, а затем курсор отправит сообщение getMore на сервер, когда ему потребуется следующая партия результатов.

5 голосов
/ 23 ноября 2011

Я получил это из документации MongoDB:

[batchSize] ограничивает количество элементов, возвращаемых в одном пакете.Курсор обычно выбирает пакет объектов результатов и сохраняет их локально.Если batchSize положительный, он представляет размер каждой партии извлеченных объектов.Его можно настроить для оптимизации производительности и ограничения передачи данных.Если batchSize имеет отрицательное значение, он будет ограничивать количество возвращаемых объектов, которые вписываются в ограничение максимального размера пакета (обычно 4 МБ), и курсор будет закрыт.Например, если batchSize равен -10, сервер вернет максимум 10 документов и столько, сколько может уместиться в 4 МБ, затем закроет курсор. Обратите внимание, что эта функция отличается от limit () тем, что документы должны соответствовать максимальному размеру, и устраняет необходимость отправлять запрос на закрытие курсора на стороне сервера. Размер пакета можно изменить дажепосле итерации курсора, в этом случае настройка будет применяться при следующем пакетном извлечении.

Вот ссылка на глоссарий терминов, откуда он взялся: http://api.mongodb.org/java/2.6/com/mongodb/DBCursor.html#batchSize(int)

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