find() (Consultar Documentos)
Última atualização: 2026-10-09
find() (Consultar Documentos)
find() consulta documentos que correspondem a uma condição e retorna um Cursor. É o método de leitura mais básico: o primeiro argumento é o predicado da consulta, o segundo é a projeção que controla os campos retornados. O cursor é preguiçoso — os dados só são buscados quando iterados (toArray/forEach/next).
| Categoria | Leitura |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.<collection>.find(<query>, <projection>)
⚙️ Parâmetros
| consulta | Objeto de predicado que suporta operadores de consulta; omitido corresponde a todos. |
|---|---|
| projeção | Opcional. Controla os campos retornados: 1 inclui / 0 exclui. |
Retorno:Cursor
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// find: usuários com mais de 20 anos, apenas o nome
const cursor = db.users.find(
{ age: { $gt: 20 } },
{ name: 1, age: 1, _id: 0 }
)
cursor.forEach(u => print(u.name))
Saída:
Alice
Bob
📌 Notas
- Retorna um Cursor, não um array; consuma com toArray()/forEach()/next()
- A projeção não pode misturar 1 e 0 (exceto _id)
- find() é somente leitura; os documentos nunca são modificados
- No mongosh, find() puro imprime os primeiros 20 documentos; digite-o para paginar mais
🏷️ Tags Relacionados
💡 Casos Relacionados
Excluindo documentos e primeiros passos com o Node.js
Integração do Express com o Mongoose: Arquitetura de aplicativos web
Padrões avançados do Mongoose: desempenho e flexibilidade
Modelos do Mongoose e projeto de esquemas
Otimização e monitoramento de desempenho: ajuste em ambiente de produção
API RESTful na prática: um guia completo para o projeto CRUD
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QO find() retorna um array?
ANão, ele retorna um Cursor. Converta com .toArray() (ou itere) quando precisar de um array.
QO que find() retorna?
Afind() retorna um cursor, não um array. Converta-o com toArray(), ou itere com forEach/next; o cursor é preguiçoso e só busca documentos do servidor conforme você lê.
QO que o segundo argumento de find() faz?
AÉ a projeção: 1 inclui campos, 0 os exclui (a mistura só é permitida para _id). Use-a para reduzir a carga de rede e o tamanho do resultado.