batchSize() (Definir Tamanho de Lote de Busca)
Última atualização: 2026-10-09
batchSize() (Definir Tamanho de Lote de Busca)
batchSize() define quantos documentos o cursor puxa do servidor por lote: `db.users.find().batchSize(100)`. Ele troca idas e voltas por memória: lotes maiores significam menos requisições porém mais memória por lote. Normalmente o padrão do servidor é suficiente; ajustar batchSize ajuda na vazão em links lentos ou grandes conjuntos de resultados.
| Categoria | Cursor |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.<collection>.find(<filter>).batchSize(<size>)
⚙️ Parâmetros
| quantidade | Documentos por lote; 0 restaura o padrão. |
|---|
Retorno:O cursor com o tamanho do lote aplicado (encadeável).
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// batchSize: busca 50 por lote, processa enquanto faz streaming
const cursor = db.users.find().batchSize(50)
cursor.forEach(doc => print(doc.name))
Saída:
Alice
Bob
Cara
📌 Notas
- 0 restaura o padrão do servidor
- Lotes superdimensionados inflam a memória por transferência
- Combina melhor com streaming via forEach()
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual batchSize devo usar?
AO padrão geralmente é suficiente; aumente-o em redes rápidas para menos idas e voltas, reduza-o quando a memória estiver apertada.
QComo batchSize difere de limit?
Alimit() limita o total de documentos retornados; batchSize() apenas controla o tamanho do bloco de transferência, deixando o total inalterado.
QO que significa batchSize(0)?
A0 restaura o tamanho de lote padrão do servidor.