A consulta de documentos no MongoDB é uma parte crucial do gerenciamento de banco de dados. Este capítulo do curso e-book abordará detalhadamente como consultar documentos no MongoDB, começando pelo básico e avançando para consultas mais complexas.
Primeiro, é importante entender o que é uma consulta no contexto do MongoDB. Uma consulta é basicamente uma pergunta que você faz ao banco de dados. Por exemplo, você pode querer saber quais documentos em uma coleção correspondem a um determinado critério. A resposta a essa pergunta é o resultado da consulta.
Consultas básicas
No MongoDB, a operação de consulta básica é realizada usando o método find(). Este método retorna todos os documentos de uma coleção que correspondem à consulta. A sintaxe básica para a operação find() no MongoDB é a seguinte:
db.collection.find(query, projection)
Onde 'query' é um documento que especifica as condições de pesquisa e 'projection' é um documento que especifica os campos a retornar nos documentos que correspondem à consulta. Se a consulta não for especificada, o método find() retornará todos os documentos da coleção.
Consultas com operadores de comparação
O MongoDB suporta vários operadores de comparação, como $eq (igual), $gt (maior que), $gte (maior ou igual), $lt (menor que), $lte (menor ou igual) e $ne (não igual). Esses operadores podem ser usados para formar consultas mais complexas. Por exemplo, a consulta a seguir retorna todos os documentos onde o campo 'idade' é maior que 20:
db.collection.find({ "idade" : { $gt : 20 } })
Consultas com operadores lógicos
Os operadores lógicos no MongoDB incluem $or, $and, $not e $nor. Esses operadores podem ser usados para combinar várias condições de consulta. Por exemplo, a consulta a seguir retorna todos os documentos onde o campo 'idade' é maior que 20 e o campo 'nome' é 'John':
db.collection.find({ $and: [ { "idade" : { $gt : 20 } }, { "nome" : "John" } ] })
Consultas com expressões regulares
O MongoDB também suporta consultas com expressões regulares, que podem ser usadas para pesquisar padrões de string. Por exemplo, a consulta a seguir retorna todos os documentos onde o campo 'nome' começa com 'J':
db.collection.find({ "nome" : /^J/ })
Consultas em arrays
O MongoDB suporta consultas em campos de array. Por exemplo, a consulta a seguir retorna todos os documentos onde o campo 'hobbies' contém 'futebol':
db.collection.find({ "hobbies" : "futebol" })
Consultas em documentos incorporados
Os documentos no MongoDB podem conter subdocumentos incorporados. Para consultar campos em um subdocumento, você pode usar a notação de ponto. Por exemplo, a consulta a seguir retorna todos os documentos onde o campo 'endereco.cidade' é 'São Paulo':
db.collection.find({ "endereco.cidade" : "São Paulo" })
Este capítulo abordou apenas o básico das consultas no MongoDB. No entanto, o MongoDB suporta muitos outros recursos de consulta, como consultas de texto completo, consultas geoespaciais, consultas de agregação e muito mais. Esses recursos serão abordados em detalhes nos capítulos subsequentes deste curso e-book.
Compreender como consultar documentos no MongoDB é fundamental para trabalhar efetivamente com este banco de dados. Com a prática, você será capaz de formular consultas complexas para extrair informações precisas do seu banco de dados MongoDB.