Turinys
Kiekvieną „MongoDB“ duomenų bazę sudaro rinkiniai, kurie yra lygiaverčiai RDBMS arba reliatyviai duomenų bazei, kurią sudaro SQL lentelės. Kiekviena duomenų bazė saugo surinktus duomenis dokumentų forma, kuri prilygsta lentelėms, kuriose duomenys saugomi eilutėse.Nors dokumentas saugo eilutės duomenis stulpelių rinkinyje, dokumentas turi JSON struktūrą (MongoDB vadinama BSON). Galiausiai, tai, kaip mes turime eilutes SQL eilutėje, kurioje yra laukai MongoDB.
„SQL“ užklausų ir „Mondodb“ užklausų atitikmenys
tarkime, kad ankstesnėje „mysql“ duomenų bazėje pamatysime, kaip susieti ir konvertuoti užklausas
Sukurkite lentelę ar kolekciją
„MongoDB“ nereikia aiškiai kurti kolekcijos struktūros, kaip tai darome lentelėms su CREATE TABLE užklausa. Dokumento struktūra sukuriama automatiškai, kai kolekcija įterpiama pirmą kartą. Tačiau tuščią kolekciją galite sukurti naudodami komandą createCollection.
Mysql
KURTI LENTELĘ „klientai“ („id“ int (11) NOT NULL AUTO_INCREMENT, „name“ varchar (255) NOT NULL, „city“ varchar (20) NOT NULL, PIMARY RAKTAS („id“))
MongoDB
db.createCollection ("klientai")
Norėdami pridėti duomenų įrašus
MYSQL
INSERT INTO `customers` (` id`, `name`,` city`) VERTYBĖS (NULL, 'Fernan', 'Barcelona');
MongoDB
db.clientes.insert ({pavadinimas: "Fernan", miestas: Barselona "})
Rodyti visus įrašus
Mysql
PASIRINKITE * iš „klientų“
MongoDB
db.clients.find ()
Ieškokite kliento pagal vardą
Mysql
SELECT * FROM "customers` WHERE" name "=" Fernan "
MongoDB
db.clientes.find ({vardas: "Fernan"})
Dabar pridėsime daugiau kriterijų, kad gautume klientą pagal vardą ir miestą. Kriterijų laukai, nurodyti naudojant kablelius, atspindi loginę IR sąlygą. Todėl šiame pareiškime bus ieškoma dokumentų, atitinkančių abu kriterijus.
Mysql
SELECT * "FROM" klientai "WHERE" name "=" Fernan "AND" city "=" Barcelona "
MongoDB
db.clientes.find ({vardas: "Fernan", miestas: "Barcelona"})
Rodyti visus klientų lentelės įrašus didėjančia tvarka pagal pavadinimą
Mysql
PASIRINKITE*iš „klientų“ ***** pagal ASC pavadinimą
MongoDB
db.clientes.find (). rūšiuoti ({vardas: 1})
Norint apriboti grąžinamų dokumentų skaičių, naudojamas ribotas dokumentų skaičiaus nurodymo metodas.
Mysql
PASIRINKITE * IŠ „klientų“ LIMITO 10
MongoDB
db.clients.find (). limit (10)
Norėdami praleisti daugybę įrašų, naudojama „MongoDB“ praleidimo funkcija. Pavyzdžiui, šis teiginys apriboja 10 įrašų ir praleidžia pirmuosius penkis.
Mysql
PASIRINKITE * IŠ „žinučių“ LIMIT 10 OFFSET 5
MongoDB
db.clients.find (). limit (10). praleisti (5)
Atnaujinimo metodui nurodyti dokumentų atrankos kriterijai. Pirmasis parametras yra įrašo identifikavimas, antrasis parametras nurodo faktinę atnaujinimo operaciją, kurią reikia atlikti. Pavyzdžiui, ši užklausa pasirenka visus dokumentus, pavadintus Carlos, ir nustato jų miestą kaip Madridą.
Vienas skirtumas yra tas, kad pagal numatytuosius nustatymus „MongoDB“ atnaujinimo užklausa atnaujina tik vieną įrašą ir pirmąją dokumento atitiktį. Norėdami atnaujinti visus atitinkamus dokumentus, turime pasiūlyti trečiąjį parametrą, kuris nurodo kelis kaip teisingus, nurodydamas, kad norime atnaujinti kelis dokumentus.
Mysql
ATNAUJINTI klientus SET city = "Madrid" WHERE name = 'Carlos'
MongoDB
Atnaujinti visus suderintus
db.clientes.update ({name: "Carlos"}, {$ set: {city: "Madrid"}}, {multi: true})
Atnaujinkite pirmąjį atitinkantį įrašą
db.clientes.update ({name: "Carlos"}, {$ set: {city: "Madrid"}})Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką