MongoDB svojim uporabnikom omogoča ustvarjanje sodobnih baz podatkov, do katerih je enostavno dostopati in z njimi upravljati.

MongoDB je odprtokodna zbirka podatkov NoSQL, ki je na voljo za uporabo v vseh operacijskih sistemih.

Če ste se v šoli naučili oblikovanja baz podatkov, obstaja velika verjetnost, da se niste naučili uporabljati MongoDB ali ste pridobili veliko izkušenj z bazami podatkov NoSQL. To ne preseneča - do leta 1998 mnogi ljudje sploh še niso slišali za NoSQL, in šele leta 2009 so se baze podatkov NoSQL začele pridobivati ​​na večji moči.

Kaj je NoSQL?

Kratica SQL pomeni "jezik strukturiranih poizvedb". SQL se uporablja za izvajanje matematičnih operacij nad podatki v bazah podatkov, ki so natančno strukturirane po vrsticah in stolpcih (tabelah).

Kratica NoSQL, odvisno od tega, koga vprašate, pomeni "ne samo SQL" ali "ne SQL". Vendar eno dejstvo, da vsi se lahko strinjam, da se NoSQL uporablja za izvajanje operacij s podatki, ki so v zbirkah podatkov, ki niso strukturirane po vrsticah in stolpci.

instagram viewer

Obstaja nekaj baz podatkov NoSQL, vendar je nad ostalimi ime MongoDB. V resnici nekateri mislijo, da je MongoDB edina tovrstna baza podatkov.

Kaj je MongoDB?

NoSQL podpira štiri različne vrste zbirk podatkov: dokument, shrambe ključ-vrednost, stolpčno usmerjen in graf. MongoDB je zbirka dokumentov, ker podatke shranjuje v dokumentu, podobnem JSON-u, in kot vse zbirke podatkov podpira vse bistvene CRUD-operacije.

Sorodno: Kako lahko baza podatkov MongoDB bolje organizira vaše podatke

Kaj so CRUD operacije?

Kratica CRUD pomeni "ustvarjanje, branje, posodabljanje in brisanje." CRUD predstavlja štiri osnovne funkcionalne zahteve vseh baz podatkov. Če uporabljate bazo podatkov, ki vam ne omogoča ustvarjanja, branja, posodabljanja ali brisanja zapisov, potem to ni baza podatkov.

Prenesite MongoDB

Preden lahko izvedete kakršne koli CRUD operacije v MongoDB, boste morali prenesti in namestiti MongoDB na vaš naprave (ali uporabite razpoložljivo različico v oblaku), zaženite strežnik MongoDB, se povežite z njim in na koncu ustvarite novega zbirka podatkov.

Strežnik MongoDB lahko prenesete iz uradnega Spletna stran MongoDB.

Izvajanje strežnika MongoDB

Iz konzole IDE zaženite strežnik MongoDB.


/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Users / Administrator / mongodb-data

Zgornja koda izvaja strežnik MongoDB. Prva polovica zagotavlja neposredno pot do izvršljive datoteke MongoDB (mongod.exe), ki je shranjena v vaši napravi. Ime poti v vaši napravi bi moralo biti drugačno, vendar je cilj doseči datoteko mongod.exe v mapi bin.

Druga polovica kode (ki je ločena s presledkom) je drugo ime poti. Ta pot vodi do "mongodb-data", to je datoteke, ki jo boste morali ustvariti sami. Ta datoteka bo vsebovala vse podatke, ki so ustvarjeni v naši bazi podatkov.

Naša datoteka se imenuje “mongodb-data”, vendar je ime lahko poljubno.

Izvajanje zgornje kode bi moralo ustvariti več vrstic kode, vendar sta dve vrstici, na katere morate biti pozorni, prikazani spodaj:


{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "MREŽA", "id": 23015, "ctx": "poslušalec", "msg": "Poslušam naprej", "attr": {"naslov": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "OMREŽJE", "id": 23016, "ctx": "poslušalec", "msg": "Čakanje na povezave", "attr": {"port": 27017, "ssl": "off"}}

Ti dve vrstici vsebujeta localhost in privzeta vrata strežnika MongoDB. Ti dve številki sta potrebni za kasnejšo vzpostavitev povezave s strežnikom MongoDB, da bomo lahko izvajali svoje CRUD operacije.

Izvajanje CRUD operacij

Zdaj, ko naš strežnik MongoDB deluje, se lahko nanj povežemo (z ustreznim gonilnikom) in začnemo izvajati CRUD operacije. Za ta članek bomo ustvarili preprosto zbirko podatkov o uporabnikih, ki bo shranila imena in starosti naših uporabnikov.

Ustvarjanje uporabnika

Obstajata dva glavna načina za vstavljanje uporabnikov v zbirko podatkov MongoDB. Oba načina sta si dokaj podobna, vendar je način, ki ga morate izbrati, odvisen od števila uporabnikov, ki jih želite ustvariti v določenem primerku. Če je vaš cilj ustvariti enega uporabnika, uporabite insertOne metoda.

Če pa je cilj hkrati ustvariti več uporabnikov, potem insertMany metoda je boljša možnost.

Primer MongoDB insertOne metode


// uvozimo mongodb in uporabimo destrukturiranje, da dobimo funkcijo MongoClient
const {MongoClient} = require ("mongodb");
// URL povezave in baza podatkov, s katero se nameravamo povezati
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// uporaba funkcije povezovanja na MongoClient za povezavo s strežnikom MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (napaka, odjemalec) => {
// preverimo, ali je bila povezava vzpostavljena
če (napaka) {
return console.log ('Ne morem se povezati z bazo podatkov');
}
// dostop do baze podatkov upravitelja uporabnikov
const db = client.db (ime baze podatkov);
// v bazo podatkov vstavimo enega uporabnika
db.collection ('uporabniki'). insertOne ({
ime: "John Doe",
starost: '28'
}, (napaka, rezultat) => {
če (napaka) {
return console.log ('Uporabnika ni bilo mogoče ustvariti');
}
console.log (result.ops);
})
})

Preden lahko ustvarimo uporabnike, moramo vzpostaviti povezavo s strežnikom MongoDB z gonilnikom MongoDB za jezik, ki ga uporabljate. Najbolj priljubljen gonilnik in tisti, ki ga uporabljamo v tej vadnici, je gonilnik NodeJS.

V prvi vrstici zgoraj navedene kode lahko z metodo destrukturiranja pridobimo funkcijo MongoClient iz našega strežnika.

MongoClient sprejema tri argumente:

  • URL (uporablja se za povezavo s strežnikom MongoDB)
  • Možnosti / nastavitve (kar v tem primeru nastavi spremenljivko »useUnifiedTopology« na true, da olajša uporabo novega mehanizma za odkrivanje in spremljanje strežnika)
  • Funkcija povratnega klica, ki ima dva argumenta (napaka in odjemalec)

Znotraj funkcije povratnega klica metode MongoClient lahko uporabnika končno vstavimo v našo bazo podatkov. Toda preden pridemo do te točke, moramo dobiti dostop do baze podatkov upravitelja uporabnikov.

Ena od lepot uporabe MongoDB je, da ni treba izrecno ustvarjati baze podatkov. Ko je referenca na določeno bazo podatkov ustvarjena z uporabo argumenta »odjemalec« (kot je razvidno iz zgornje kode), lahko začnete z njo manipulirati.

Sklic na zbirko podatkov upravitelja uporabnikov, ki jo ustvarimo, je shranjen v spremenljivki "db", ki jo bomo uporabili za vstavljanje prvega uporabnika v bazo podatkov.

Z referenco “db” lahko ustvarimo novo zbirko, ki ji dodelimo ime “uporabnik”.

The insertOne metoda vzame dva zahtevana argumenta; dokument (uporabnik) in funkcijo povratnega klica. Z insertOne, lahko uporabnika vstavimo z imenom Peter Davis s starostjo 32, v našo bazo podatkov.

Funkcija povratnega klica ima dva argumenta (napaka in rezultat). Funkcija rezultata vsebuje metodo ops, ki jo uporabljamo za ogled uporabnika, ki smo ga pravkar ustvarili v naši bazi podatkov. To po končani zgornji kodi v konzoli povzroči naslednji izhod:


[{ime: 'Peter Davis', starost: '32', _id: 60772f869475e84740003c45}]

Čeprav smo pri ustvarjanju uporabnika navedli le dve polji, lahko iz zgornjega izhoda vidite, da je bilo ustvarjeno tretje polje. To je še ena kul stvar glede MongoDB; samodejno ustvari enolični ID za vsak dokument, ki ga ustvari.

Sorodno: Kako se modeliranje podatkov razlikuje v MongoDB?

Branje uporabnika v MongoDB

Dve glavni metodi, ki se uporabljata za branje dokumentov iz MongoDB, sta: najti in findOne. The najti metoda se uporablja za branje več dokumentov hkrati in findOne metoda se uporablja za branje posameznega dokumenta hkrati.

Primer metode MongoDB findOne


// uvozimo mongodb in uporabimo destrukturiranje, da dobimo metodo MongoClient
const {MongoClient} = require ("mongodb");
// URL povezave in baza podatkov, s katero se nameravamo povezati
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// uporaba funkcije povezovanja na MongoClient za povezavo s strežnikom MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (napaka, odjemalec) => {
// preverimo, ali je bila povezava vzpostavljena
če (napaka) {
return console.log ('Ne morem se povezati z bazo podatkov');
}
// ustvarimo bazo podatkov upravitelja uporabnikov
const db = client.db (ime baze podatkov);
// iskanje enega uporabnika v bazi
db.collection ('uporabniki'). findOne ({ime: 'Peter Davis'}, (napaka, uporabnik) => {
če (napaka) {
return console.log ('Ne najdem uporabnika');
}
console.log (uporabnik);
})
});

Dobro je vedeti, da se boste vedno morali povezati s strežnikom MongoDB in ustrezno bazo podatkov, preden boste lahko izvajali kakršne koli CRUD operacije (kot je prikazano v zgornjem primeru).

The findOne metoda vzame dva zahtevana argumenta. Prvi argument vsebuje iskalna merila; dokument lahko iščete s katerim koli imenom spremenljivke, ki je zanj edinstveno. V zgornjem primeru uporabljamo ime "Peter Davis".

Drugi argument findOne metoda je funkcija povratnega klica, ki ima dva argumenta; prva je napaka, če dokumenta ni mogoče najti, druga pa je dokument (ki smo ga poimenovali "uporabnik").

Izvedba zgornje kode bo v konzoli povzročila naslednji rezultat:


{_id: 60772f869475e84740003c45, ime: 'Peter Davis', starost: '32'}

Posodabljanje uporabnika v MongoDB

Za posodobitev dokumentov v MongoDB sta na voljo dve metodi. Čeprav je struktura obeh zelo podobna, updateOne se uporablja za posodabljanje enega dokumenta naenkrat in updateMany se uporablja za posodabljanje več dokumentov hkrati.

Primer posodobitve MongoDBOne metode


// Posodobitev uporabnikove starosti
db.collection ('uporabniki'). updateOne ({ime: "Peter Davis"},
{
$ set: {
starost: '24'
}
})

Z zgornjo kodo lahko posodobimo starost Petra Davisa na 24 let.

Brisanje uporabnika v MongoDB

Za brisanje dokumenta iz MongoDB sta na voljo dve metodi. The deleteOne metoda se uporablja za brisanje enega samega dokumenta in deleteMany metoda se uporablja za brisanje več dokumentov.

Primer metode MongoDB deleteOne


// izbriši dokument
db.collection ('uporabniki'). deleteOne ({ime: 'Peter Davis'})

Operacija brisanja je najpreprostejša operacija CRUD, ki jo je mogoče izvesti v MongoDB. Kot lahko vidite v zgornjem primeru (ne vključuje zahtevane kode povezave in funkcije povratnega klica), traja le ena vrstica kode.

Zdaj lahko izvajate CRUD operacije v MongoDB

Zdaj imate osnovno znanje MongoDB in veste, kaj pomeni NoSQL. Veste tudi, kaj pomeni kratica CRUD in zakaj so te operacije bistvene lastnosti vsake baze podatkov.

Ta članek vam ponuja vsa orodja, potrebna za izvajanje štirih osnovnih operacij CRUD v MongoDB. Zdaj, ko ste opremljeni s strokovnim znanjem o operacijah CRUD, se lahko začnete učiti, kako najbolje modelirati podatke s pomočjo MongoDB.

Avtor slike: Alexander Sosluev /WiKiMedia Commons

E-naslov
Kako se modeliranje podatkov razlikuje v MongoDB?

Razmišljate o drugačnem pristopu do baz podatkov? Evo, kako modeliranje podatkov deluje v MongoDB.

Preberite Naprej

Sorodne teme
  • Programiranje
  • Vadnice za kodiranje
  • zbirke podatkov
O avtorju
Kadeisha Kean (9 objavljenih člankov)

Kadeisha Kean je razvijalka programske opreme s polnim skladom in pisateljica tehničnih / tehnoloških tehnologij. Ima izrazito sposobnost poenostavitve nekaterih najbolj zapletenih tehnoloških konceptov; izdelujejo materiale, ki jih lahko vsak tehnološki začetnik zlahka razume. Navdušena je nad pisanjem, razvojem zanimive programske opreme in potovanjem po svetu (skozi dokumentarne filme).

Več od Kadeishe Kean

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.