9.5. Consultando Documentos no MongoDB: Consulta de Documentos Usando Operadores Lógicos
No MongoDB, a consulta de documentos é uma parte essencial da interação com o banco de dados. A consulta permite recuperar dados específicos de uma coleção de documentos. Este capítulo abordará os operadores lógicos que podem ser usados para realizar consultas mais complexas e específicas no MongoDB.
Operadores Lógicos
Os operadores lógicos no MongoDB são usados para combinar ou modificar condições em uma consulta. Os operadores lógicos incluem $and, $or, $not e $nor.
$and
O operador $and executa uma operação lógica AND em uma matriz de duas ou mais expressões (por exemplo, { $and: [ {
$or
O operador $or executa uma operação lógica OR em uma matriz de duas ou mais { $or: [ {
$not
O operador $not executa uma operação lógica NOT na expressão e seleciona os documentos que não correspondem à expressão. O operador $not deve ser usado com expressões que usam operadores de consulta. Por exemplo, a consulta { field: { $not: { $gt: 1.99 } } } selecionará todos os documentos em que o valor do campo não é maior que 1.99.
$nor
O operador $nor executa uma operação lógica NOR em uma matriz de duas ou mais expressões e seleciona os documentos que não correspondem a nenhuma das expressões. O operador $nor tem avaliação de curto-circuito. Ou seja, se a primeira expressão avaliada for verdadeira, o MongoDB não avaliará as expressões restantes.
Exemplo de Consulta com Operadores Lógicos
Suponha que temos a seguinte coleção de documentos:
{ "_id": 1, "name": "John Doe", "age": 22, "status": "A" }, { "_id": 2, "name": "Jane Doe", "age": 25, "status": "B" }, { "_id": 3, "name": "Mary Johnson", "age": 22, "status": "A" }
Podemos usar o operador $and para encontrar todos os documentos onde a idade é 22 e o status é "A". A consulta seria assim:
db.collection.find( { $and: [ { age: 22 }, { status: "A" } ] } )
Isso retornará os documentos onde ambas as condições são verdadeiras.
Da mesma forma, podemos usar o operador $or para encontrar todos os documentos onde a idade é 22 ou o status é "B". A consulta seria assim:
db.collection.find( { $or: [ { age: 22 }, { status: "B" } ] } )
Isso retornará os documentos onde pelo menos uma das condições é verdadeira.
Em resumo, os operadores lógicos no MongoDB são ferramentas poderosas que permitem criar consultas complexas e específicas. Eles são essenciais para extrair informações úteis de um banco de dados MongoDB.