9.6. Consultando documentos no MongoDB: Consulta de documentos usando operadores de array

Página 32

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.

Now answer the exercise about the content:

Qual dos seguintes operadores de array no MongoDB é usado para selecionar documentos em uma coleção onde o campo é um array de um determinado tamanho?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

339.7. Consultando documentos no MongoDB: Consulta de documentos usando operadores de elemento

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text