Innehållsförteckning
Varje databas i MongoDB består av samlingar som motsvarar en RDBMS eller relationsdatabas bestående av SQL -tabeller. Varje databas lagrar den insamlade informationen i form av dokument som motsvarar tabeller som lagrar data i rader.Medan den lagrar raddata i kolumnuppsättningen har ett dokument en JSON -struktur (känd som BSON i MongoDB). Slutligen, hur vi har rader i en SQL -rad, som har fält i MongoDB.
Ekvivalenter mellan SQL -frågor och Mondodb -frågor
anta att den tidigare mysql -databasen kommer att se hur vi kartlägger och konverterar frågorna
Skapa en tabell eller samling
I MongoDB behöver du inte uttryckligen skapa samlingsstrukturen, precis som vi gör för tabeller med en CREATE TABLE -fråga. Dokumentstrukturen skapas automatiskt när den första infogningen sker i samlingen. Du kan dock skapa en tom samling med kommandot createCollection.
Mysql
SKAPA TABELL `kunder` (` id` int (11) NOT NULL AUTO_INCREMENT, `name` varchar (255) NOT NULL,` city` varchar (20) NOT NULL, PRIMARY KEY (`id '))
MongoDB
db.createCollection ("klienter")
För att lägga till dataposter
MYSQL
SÄTT IN I 'kunder' ('id', 'namn', 'stad') VÄRDEN (NULL, 'Fernan', 'Barcelona');
MongoDB
db.clientes.insert ({namn: "Fernan", stad: Barcelona "})
Visa alla poster
Mysql
VÄLJ * FRÅN 'kunder'
MongoDB
db.clients.find ()
Sök efter en kund med namn
Mysql
VÄLJ * FRÅN 'kunder' WHERE 'namn' = 'Fernan'
MongoDB
db.clientes.find ({namn: "Fernan"})
Nu ska vi lägga till fler kriterier för att hämta kund med namn och stad. Kriteriefälten som anges med kommatecken representerar det logiska OCH -villkoret. Därför kommer detta uttalande att söka efter dokument som uppfyller båda kriterierna.
Mysql
VÄLJ * 'FRÅN' kunder 'VAR' namn '=' Fernan 'OCH' stad '=' Barcelona '
MongoDB
db.clientes.find ({namn: "Fernan", stad: "Barcelona"})
Visa alla poster i kundtabellen sorterade i stigande ordning efter namn
Mysql
VÄLJ*FRÅN 'kunder' ***** efter ASC -namn
MongoDB
db.clientes.find (). sort ({namn: 1})
För att begränsa antalet dokument som ska returneras används gränsmetoden för att ange antalet dokument.
Mysql
VÄLJ * FRÅN `KUNDENS` GRÄNS 10
MongoDB
db.clients.find (). gräns (10)
För att hoppa över ett antal poster används överhoppningsfunktionen i MongoDB. Till exempel begränsar följande uttalande 10 poster och hoppar över de fem första.
Mysql
VÄLJ * FRÅN 'inlägg' LIMIT 10 OFFSET 5
MongoDB
db.clients.find (). gräns (10) .skip (5)
För uppdateringsmetoden anges kriterierna för att välja dokument. Den första parametern är att identifiera posten, den andra parametern anger den faktiska uppdateringsoperationen som ska utföras. Till exempel väljer följande fråga alla dokument som heter Carlos och anger deras stad som Madrid.
En skillnad här är att som standard uppdaterar MongoDB -uppdateringsfrågan endast en post och den första matchningen i dokumentet. För att uppdatera alla motsvarande dokument måste vi erbjuda en tredje parameter som anger flera som sanna vilket indikerar att vi vill uppdatera flera dokument.
Mysql
UPDATE clients SET city = "Madrid" VAR namn = 'Carlos'
MongoDB
Uppdatera alla matchade
db.clientes.update ({namn: "Carlos"}, {$ set: {city: "Madrid"}}, {multi: true})
Uppdatera den första matchande posten
db.clientes.update ({namn: "Carlos"}, {$ set: {stad: "Madrid"}})Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng