Cuprins
Fiecare bază de date din MongoDB constă din colecții care sunt echivalente cu un RDBMS sau o bază de date relațională formată din tabele SQL. Fiecare bază de date stochează datele colectate sub formă de documente, care este echivalent cu tabelele care stochează date în rânduri.În timp ce stochează datele rândului în setul de coloane, un document are o structură JSON (cunoscută sub numele de BSON în MongoDB). În cele din urmă, modul în care avem rânduri într-un rând SQL, care are câmpuri în MongoDB.
Echivalenți între interogări sql și interogări Mondodb
să presupunem că baza de date mysql anterioară vom vedea cum să mapăm și să convertim interogările
Creați un tabel sau o colecție
În MongoDB, nu este nevoie să creați în mod explicit structura de colectare, așa cum facem pentru tabelele cu o interogare CREATE TABLE. Structura documentului este creată automat atunci când apare prima inserție în colecție. Cu toate acestea, puteți crea o colecție goală utilizând comanda createCollection.
Mysql
CREAȚI TABELUL `clienți` (` id` int (11) NOT NULL AUTO_INCREMENT, `name` varchar (255) NOT NULL,` city` varchar (20) NOT NULL, CHEIE PRIMARĂ (`id`))
MongoDB
db.createCollection („clienți”)
Pentru a adăuga înregistrări de date
MYSQL
INSERAȚI ÎN „clienți” („id”, „nume”, „oraș”) VALORI (NULL, „Fernan”, „Barcelona”);
MongoDB
db.clientes.insert ({nume: "Fernan", oraș: Barcelona "})
Afișați toate înregistrările
Mysql
SELECTAȚI * DIN „clienți”
MongoDB
db.clients.find ()
Căutați un client după nume
Mysql
SELECTAȚI * DIN „clienți` UNDE` nume` =„ Fernan ”
MongoDB
db.clientes.find ({nume: "Fernan"})
Acum vom adăuga mai multe criterii pentru a recupera clientul după nume și oraș. Câmpurile de criterii specificate folosind virgule reprezintă condiția AND logică. Prin urmare, această declarație va căuta documente care îndeplinesc ambele criterii.
Mysql
SELECȚIONEAZĂ * „DIN„ clienți ”UNDE„ nume ”=„ Fernan ”ȘI„ oraș ”=„ Barcelona ”
MongoDB
db.clientes.find ({nume: "Fernan", oraș: "Barcelona"})
Afișați toate înregistrările din tabelul clienților sortate în ordine crescătoare după nume
Mysql
SELECTAȚI * DIN `clienți` ***** după numele ASC
MongoDB
db.clientes.find (). sort ({nume: 1})
Pentru a limita numărul de documente care trebuie returnate, se utilizează metoda limită de specificare a numărului de documente.
Mysql
ALEGEȚI * DIN „LIMITA„ clienților ”10
MongoDB
db.clients.find (). limit (10)
Pentru a sări peste un număr de înregistrări, este utilizată funcția de săritură în MongoDB. De exemplu, următoarea declarație limitează 10 înregistrări și omite primele cinci.
Mysql
SELECT * FROM `posts` LIMIT 10 OFFSET 5
MongoDB
db.clients.find (). limit (10) .skip (5)
Pentru metoda de actualizare sunt specificate criteriile de selectare a documentelor. Primul parametru este de a identifica înregistrarea, al doilea parametru specifică operațiunea de actualizare efectivă care trebuie efectuată. De exemplu, următoarea interogare selectează toate documentele numite Carlos și își stabilește orașul ca Madrid.
O diferență aici este că, implicit, interogarea de actualizare MongoDB actualizează o singură înregistrare și prima potrivire din document. Pentru a actualiza toate documentele corespunzătoare, trebuie să oferim un al treilea parametru care specifică multiple ca fiind adevărate, indicând faptul că dorim să actualizăm mai multe documente.
Mysql
ACTUALIZAȚI clienții SET oraș = "Madrid" UNDE nume = "Carlos"
MongoDB
Actualizați toate cele potrivite
db.clientes.update ({nume: "Carlos"}, {$ set: {city: "Madrid"}}, {multi: true})
Actualizați prima înregistrare potrivită
db.clientes.update ({name: "Carlos"}, {$ set: {city: "Madrid"}})V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv