MongoDB - Query Document

Ciao a tutti, futuri maghi dei database! Oggi esploriamo il mondo emozionante di MongoDB e impariamo come interrogare i documenti. Come il vostro insegnante di computer del vicinato, sono qui per guidarvi in questo viaggio, passo dopo passo. Allora, indossate i vostri caschi virtuali e iniziamo a esplorare!

MongoDB - Query Document

Il metodo find()

Il metodo find() è come una caccia al tesoro in MongoDB. Ci aiuta a cercare documenti in una collezione. Immagina di avere una collezione chiamata "students" nel tuo database scolastico. Vediamo come possiamo usare find() per recuperare informazioni.

db.students.find()

Questa semplice riga di codice restituirà tutti i documenti nella collezione "students". È come chiedere, "Mostrami tutti gli studenti!"

Ma cosa succede se vogliamo essere più specifici? Supponiamo di voler trovare tutti gli studenti chiamati "John":

db.students.find({name: "John"})

Questa query restituirà tutti i documenti in cui il campo nome è "John". È come dire, "Puoi mostrarmi tutti i Johns in classe?"

Il metodo pretty()

Ora, rendiamo i nostri risultati gradevoli e ordinati con il metodo pretty(). È come dare ai nostri dati una trasformazione di lusso!

db.students.find().pretty()

Questo visualizzerà i risultati in un modo formattato, rendendoli più facili da leggere. È come organizzare la tua stanza disordinata - improvvisamente tutto sembra molto meglio!

Il metodo findOne()

A volte, vogliamo solo trovare un documento. Ecco dove findOne() entra in gioco. È come raccogliere la prima mela dall'albero.

db.students.findOne({name: "Sarah"})

Questo restituirà il primo documento che trova dove il nome è "Sarah". Se ci sono più Sarah, mostrerà solo il primo che incontra.

Equivalenze delle clausole WHERE di RDBMS in MongoDB

Ora confrontiamo le query di MongoDB con le clausole WHERE di SQL. È come tradurre tra due lingue!

Clausola WHERE SQL Equivalente MongoDB
WHERE name = "John" {name: "John"}
WHERE age > 25 {age: {$gt: 25}}
WHERE age >= 25 {age: {$gte: 25}}
WHERE age < 25 {age: {$lt: 25}}
WHERE age <= 25 {age: {$lte: 25}}
WHERE age != 25 {age: {$ne: 25}}

AND in MongoDB

In MongoDB, possiamo combinare condizioni usando la logica AND. È come dire, "Voglio questo E quell'altro."

db.students.find({name: "John", age: 20})

Questa query troverà tutti i documenti dove il nome è "John" E l'età è 20.

OR in MongoDB

A volte vogliamo trovare documenti che soddisfano una condizione O un'altra. MongoDB ce lo permette!

db.students.find({$or: [{name: "John"}, {age: 20}]})

Questa query troverà tutti i documenti dove il nome è "John" O l'età è 20.

Usare AND e OR insieme

Possiamo persino combinare条件和 OR. È come creare una mappa del tesoro complessa!

db.students.find({
grade: "A",
$or: [{name: "John"}, {age: 20}]
})

Questa query troverà tutti i documenti dove il voto è "A" E (il nome è "John" O l'età è 20).

NOR in MongoDB

NOR è come dire "né questo né quell'altro". È l'opposto di OR.

db.students.find({
$nor: [{name: "John"}, {age: 20}]
})

Questa query troverà tutti i documenti dove il nome non è "John" E l'età non è 20.

NOT in MongoDB

Infine, abbiamo l'operatore NOT, che è come dire "qualsiasi cosa tranne questa".

db.students.find({
name: {$not: {$eq: "John"}}
})

Questa query troverà tutti i documenti dove il nome non è "John".

Eccoci, miei cari studenti! Abbiamo percorso il territorio delle query di MongoDB, da semplici ricerche a operazioni logiche complesse. Ricorda, la pratica fa perfezione, quindi non aver paura di sperimentare con queste query. Chi lo sa? Potresti scoprire tesori nascosti nei tuoi dati!

Prima di concludere, facciamo un rapido quiz. Riesci a scrivere una query per trovare tutti gli studenti che hanno 18 anni O chiamati "Emma" E con un voto di "B"? Prova e non dimenticare di usare il metodo pretty() per rendere i tuoi risultati gradevoli!

Buon divertimento con le query, futuri maestri dei database!

Credits: Image by storyset