Converteer relationele en SQL-databases naar MongoDB

Inhoudsopgave
Elke database in MongoDB bestaat uit verzamelingen die equivalent zijn aan een RDBMS of relationele database die bestaat uit SQL-tabellen. Elke database slaat de verzamelde gegevens op in de vorm van documenten, wat overeenkomt met tabellen die gegevens in rijen opslaan.
Hoewel het de rijgegevens in de kolommenset opslaat, heeft een document een JSON-structuur (bekend als BSON in MongoDB). Ten slotte, de manier waarop we rijen hebben in een SQL-rij, die velden heeft in MongoDB.

Equivalenten tussen sql-query's en Mondodb-query's
stel dat de vorige mysql-database we zullen zien hoe we de query's in kaart kunnen brengen en converteren
Maak een tafel of verzameling
In MongoDB is het niet nodig om de collectiestructuur expliciet te maken, zoals we doen voor tabellen met een CREATE TABLE-query. De documentstructuur wordt automatisch gemaakt wanneer de eerste invoeging in de verzameling plaatsvindt. U kunt echter een lege verzameling maken met de opdracht createCollection.
Mysql
MAAK TABEL `klanten` (` id` int (11) NOT NULL AUTO_INCREMENT, `name` varchar (255) NOT NULL,` stad` varchar (20) NOT NULL, PRIMARY KEY (`id`))
MongoDB
db.createCollection ("klanten")
Gegevensrecords toevoegen
MYSQL
INSERT INTO `klanten` (` id`, `name`,` stad`) WAARDEN (NULL, ‘Fernan’, ‘Barcelona’);
MongoDB
db.clientes.insert ({naam: "Fernan", stad: Barcelona "})
Toon alle records
Mysql
KIES * VAN `klanten`
MongoDB
db.clients.find ()
Zoek een klant op naam
Mysql
SELECTEER * FROM `klanten` WHERE` name` = "Fernan"
MongoDB
db.clientes.find ({naam: "Fernan"})
Nu gaan we meer criteria toevoegen om de klant op naam en stad op te halen. De met komma's gespecificeerde criteriavelden vertegenwoordigen de logische EN-voorwaarde. Daarom zoekt deze verklaring naar documenten die aan beide criteria voldoen.
Mysql
SELECTEER * `FROM` klanten` WHERE `name` = 'Fernan' AND` city` = 'Barcelona'
MongoDB
db.clientes.find ({naam: "Fernan", stad: "Barcelona"})
Toon alle records in de klantentabel in oplopende volgorde op naam gesorteerd
Mysql
SELECTEER * VAN `klanten` ***** op ASC-naam
MongoDB
db.clientes.find (). sorteren ({naam: 1})
Om het aantal te retourneren documenten te beperken, wordt de limietmethode voor het specificeren van het aantal documenten gebruikt.
Mysql
SELECTEER * VAN `klanten` LIMIET 10
MongoDB
db.clients.find (). limiet (10)
Om een ​​aantal records over te slaan wordt de skip-functie in MongoDB gebruikt. De volgende instructie beperkt bijvoorbeeld 10 records en slaat de eerste vijf over.
Mysql
SELECTEER * UIT `posts` LIMIET 10 OFFSET 5
MongoDB
db.clients.find (). limiet (10) .skip (5)
Voor de updatemethode worden de criteria voor het selecteren van de documenten gespecificeerd. De eerste parameter is om het record te identificeren, de tweede parameter specificeert de daadwerkelijke update die moet worden uitgevoerd. De volgende query selecteert bijvoorbeeld alle documenten met de naam Carlos en stelt hun stad in als Madrid.
Een verschil hier is dat MongoDB-updatequery standaard slechts één record en de eerste overeenkomst in het document bijwerkt. Om alle corresponderende documenten bij te werken, moeten we een derde parameter aanbieden die meerdere specificeert als waar, wat aangeeft dat we meerdere documenten willen bijwerken.
Mysql
UPDATE klanten SET city = "Madrid" WHERE naam = 'Carlos'
MongoDB
Alle overeenkomende updaten
db.clientes.update ({name: "Carlos"}, {$ set: {city: "Madrid"}}, {multi: true})
De eerste overeenkomende record bijwerken
db.clientes.update ({naam: "Carlos"}, {$ set: {stad: "Madrid"}})Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave