findOne() (Consultar um Único Documento)

Última atualização: 2026-10-09

findOne() (Consultar um Único Documento)

findOne() retorna o primeiro documento que corresponder a um filtro diretamente como documento, não como cursor, ex.: `db.users.findOne({ name: 'Alice' })`. Quando vários correspondem, retorna o primeiro na ordem natural; sem correspondência, retorna null. Ele dispensa a iteração de cursor, sendo ideal para buscas por um campo único como _id ou nome de usuário.

CategoriaLeitura
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

db.<collection>.findOne(<filter>, <projection>)

⚙️ Parâmetros

filtroObjeto de predicado; suporta operadores de consulta.
projeçãoOpcional. Controla os campos retornados: 1 inclui / 0 exclui.

Retorno:O primeiro documento correspondente; null quando nada corresponde.

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// findOne: busca um usuário por _id
const user = db.users.findOne(
  { _id: ObjectId('64c8a1b20000000000000001') },
  { name: 1, age: 1, _id: 0 }
)
user

Saída:

{ name: 'Alice', age: 21 }

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QfindOne é o mesmo que find().limit(1)?
ASemelhante, mas findOne() retorna o documento diretamente enquanto find() retorna um cursor para iterar; prefira findOne() para buscas por campo único.
QO que findOne retorna quando nada é encontrado?
AEle retorna null sem lançar erro; normalmente consumido como if (doc) { ... }.
QO findOne pode retornar apenas alguns campos?
ASim — passe uma projeção como segundo argumento, ex.: {name: 1}.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%