toArray() (Cursor para Array)
Última atualização: 2026-10-09
toArray() (Cursor para Array)
toArray() busca tudo o que um cursor do tipo find() referencia e retorna como um array JavaScript: `db.users.find({ age: { $gt: 20 } }).toArray()`. O cursor é totalmente consumido de uma vez — adequado para pequenos conjuntos de resultados processados no cliente. Resultados enormes consomem muita memória, então prefira o streaming com forEach() para coleções grandes.
| Categoria | Cursor |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.<collection>.find(<filter>).toArray()
Retorno:Matriz de todos os documentos de resultado.
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// toArray: converte os resultados de usuários adultos em um array
const users = db.users.find({ age: { $gte: 18 } }).toArray()
print('Total: ' + users.length)
Saída:
Total: 42
📌 Notas
- Busca tudo de uma vez — conjuntos grandes de resultados pesam na memória
- O cursor fica esgotado depois e não pode ser iterado novamente
- Resultados acima do limite de resposta BSON geram erro; combine com limit() ou paginação
🏷️ Tags Relacionados
💡 Casos Relacionados
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QO find() retorna um array?
ANão, find() retorna um cursor. Chame .toArray() para obter um array, ou itere com forEach() e afins.
QO toArray carrega todos os dados de uma vez?
ASim — tudo cai na memória do cliente; conjuntos enormes podem estourar a memória, então faça streaming com forEach() em vez disso.
QPosso iterar o cursor depois de toArray?
ANão, o cursor está esgotado. Salve o array em uma variável se precisar dele novamente.