O MongoDB é um banco de dados NoSQL que oferece alta performance, alta disponibilidade e fácil escalabilidade. Ele trabalha no conceito de Coleções e Documentos. Consultar documentos em um banco de dados MongoDB envolve o uso de operadores de array e outros operadores de consulta. Nesta seção, vamos explorar como consultar documentos usando operadores de array no MongoDB.
Operadores de Array
Os operadores de array são usados para consultar documentos em um banco de dados MongoDB que contêm um array de elementos. Os operadores de array mais comuns no MongoDB incluem $all, $size, $elemMatch, entre outros.
$all
O operador $all é usado para selecionar todos os documentos em uma coleção onde o valor de um campo é um array que contém todos os elementos especificados. Por exemplo, para encontrar todos os documentos onde o campo "tags" contém todos os elementos "mongodb" e "database", a consulta seria:
db.collection.find({ tags: { $all: ["mongodb", "database"] } })
$size
O operador $size é usado para selecionar documentos em uma coleção onde o campo é um array de um determinado tamanho. Por exemplo, para encontrar todos os documentos onde o campo "tags" é um array com 2 elementos, a consulta seria:
db.collection.find({ tags: { $size: 2 } })
$elemMatch
O operador $elemMatch é usado para selecionar documentos em uma coleção onde pelo menos um elemento no campo do array atende a todas as condições especificadas. Por exemplo, para encontrar todos os documentos onde o campo "results" é um array que contém pelo menos um elemento que é um documento com o campo "product" igual a "xyz" e o campo "score" maior que 8, a consulta seria:
db.collection.find({ results: { $elemMatch: { product: "xyz", score: { $gt: 8 } } } })
Consultando documentos
Para consultar documentos em um banco de dados MongoDB, você usa o método find() ou findOne(). O método find() retorna todos os documentos que correspondem aos critérios de consulta, enquanto o método findOne() retorna apenas o primeiro documento que corresponde aos critérios de consulta.
Por exemplo, para encontrar todos os documentos em uma coleção que têm o campo "status" igual a "A", a consulta seria:
db.collection.find({ status: "A" })
Para encontrar o primeiro documento em uma coleção que tem o campo "status" igual a "A", a consulta seria:
db.collection.findOne({ status: "A" })
Além disso, você pode usar operadores de consulta para especificar condições mais complexas. Por exemplo, para encontrar todos os documentos em uma coleção que têm o campo "status" igual a "A" e o campo "qty" menor que 30, a consulta seria:
db.collection.find({ status: "A", qty: { $lt: 30 } })
Em resumo, a consulta de documentos no MongoDB envolve o uso de operadores de array e outros operadores de consulta para especificar os critérios de seleção. Além disso, você pode usar o método find() ou findOne() para recuperar os documentos que correspondem aos critérios de consulta.