O MongoDB é um banco de dados NoSQL de código aberto que fornece suporte de alto desempenho, alta disponibilidade e fácil escalabilidade. Ele trabalha no conceito de coleções e documentos. Neste capítulo, vamos discutir como consultar documentos de uma coleção no MongoDB.
Uma das operações mais comuns que você precisará realizar em um banco de dados MongoDB é a consulta de documentos. A consulta é o processo de recuperar documentos de uma coleção. O MongoDB fornece uma série de métodos para realizar essa tarefa, um dos quais é o método findOne()
.
O método findOne()
é usado para retornar um único documento que atende aos critérios especificados. Se vários documentos correspondem aos critérios, este método retorna o primeiro documento de acordo com a ordem natural, que reflete a ordem dos documentos no disco.
A sintaxe básica do método findOne()
é a seguinte:
db.collection.findOne(query, projection)
Onde:
db
é o banco de dados atual.collection
é a coleção na qual você está procurando o documento.query
é um documento que especifica as condições de pesquisa. Este é um parâmetro opcional.projection
é um documento que especifica os campos a serem retornados no documento resultante. Este é um parâmetro opcional.
Vamos supor que temos a seguinte coleção de documentos:
{ "_id": 1, "nome": "Maria", "idade": 25, "profissao": "Engenheira" }, { "_id": 2, "nome": "João", "idade": 30, "profissao": "Médico" }, { "_id": 3, "nome": "Ana", "idade": 35, "profissao": "Advogada" }
Se quisermos encontrar o documento onde o campo "nome" é "Maria", podemos usar o método findOne()
da seguinte maneira:
db.collection.findOne({"nome": "Maria"})
O resultado será o primeiro documento que corresponde à consulta:
{ "_id": 1, "nome": "Maria", "idade": 25, "profissao": "Engenheira" }
Agora, vamos dizer que queremos retornar apenas o campo "profissao" no documento resultante. Podemos fazer isso especificando o campo "profissao" no parâmetro de projeção:
db.collection.findOne({"nome": "Maria"}, {"profissao": 1})
O resultado será:
{ "_id": 1, "profissao": "Engenheira" }
Note que o campo "_id" é sempre retornado, a menos que você o exclua explicitamente.
O método findOne()
é extremamente útil para recuperar um único documento de uma coleção. No entanto, lembre-se de que ele retorna o primeiro documento que corresponde à consulta. Se você precisa recuperar todos os documentos que correspondem à consulta, deve usar o método find()
.
Em resumo, o MongoDB fornece uma variedade de métodos para consultar documentos, cada um com seus próprios usos e vantagens. O método findOne()
é apenas um desses métodos, mas é um dos mais comumente usados devido à sua simplicidade e eficácia.