MongoDB oferă utilizatorilor săi posibilitatea de a crea baze de date moderne care sunt ușor de accesat și manipulat.
MongoDB este o bază de date open source NoSQL care este disponibilă pentru utilizare pe toate sistemele de operare.
Dacă ați învățat proiectarea bazelor de date în școală, sunt șanse să nu învățați cum să utilizați MongoDB sau să câștigați multă experiență cu bazele de date NoSQL. Nu este o surpriză - până în 1998, mulți oameni nici măcar nu auziseră despre NoSQL și abia în 2009, bazele de date NoSQL au început să câștige tracțiune.
Ce este NoSQL?
Acronimul SQL înseamnă „limbaj de interogare structurat”. SQL este utilizat pentru a efectua operații matematice asupra datelor păstrate în baze de date care sunt structurate rigid prin rânduri și coloane (tabele).
Acronimul NoSQL, în funcție de cine întrebați, înseamnă „nu numai SQL” sau „non SQL”. Cu toate acestea, singurul fapt că toată lumea poate fi de acord că NoSQL este utilizat pentru a efectua operațiuni pe date care sunt păstrate în baze de date care nu sunt structurate pe rânduri și coloane.
Există câteva baze de date NoSQL, dar numele care stă deasupra celorlalte este MongoDB. De fapt, unii oameni cred că MongoDB este singura bază de date de acest gen.
Ce este MongoDB?
NoSQL acceptă patru tipuri diferite de baze de date: document, depozite cheie-valoare, orientate pe coloane și grafic. MongoDB este o bază de date de documente, deoarece stochează date într-un document asemănător JSON și, ca toate bazele de date, acceptă toate operațiunile esențiale CRUD.
Legate de: Cum o bază de date MongoDB vă poate organiza mai bine datele
Ce sunt operațiunile CRUD?
Acronimul CRUD înseamnă „creați, citiți, actualizați și ștergeți”. CRUD reprezintă cele patru cerințe funcționale de bază ale tuturor bazelor de date. Dacă utilizați o bază de date care nu vă permite să creați, să citiți, să actualizați sau să ștergeți înregistrări, atunci nu este o bază de date.
Descărcați MongoDB
Înainte de a putea efectua orice operațiune CRUD în MongoDB, va trebui să descărcați și să instalați MongoDB pe computerul dvs. (sau utilizați o versiune cloud disponibilă), rulați serverul MongoDB, conectați-vă la acesta și creați în cele din urmă un nou Bază de date.
Serverul MongoDB poate fi descărcat de la oficial Site-ul web MongoDB.
Executarea serverului MongoDB
Executați serverul MongoDB din consola IDE-ului dvs.
/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Users / Administrator / mongodb-data
Codul de mai sus execută serverul MongoDB. Prima jumătate oferă calea directă către fișierul executabil MongoDB (mongod.exe) care este stocat pe dispozitivul dvs. Calea de pe dispozitivul dvs. ar trebui să fie diferită, dar scopul este să ajungeți la fișierul mongod.exe din folderul bin.
A doua jumătate a codului (care este separată de bara de spațiu) este un alt nume de cale. Această cale duce la „mongodb-data”, care este un fișier pe care va trebui să îl creați singur. Acest fișier va conține toate datele care sunt create în baza noastră de date.
Fișierul nostru se numește „mongodb-data”, dar numele poate fi orice credeți că este potrivit.
Executarea codului de mai sus ar trebui să producă mai multe linii de cod, dar cele două linii la care trebuie să acordați o atenție deosebită pot fi văzute mai jos:
{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "NETWORK", "id": 23015, "ctx": "ascultător", "msg": "Ascultând pe", "attr": {"adresă": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "REȚEA", "id": 23016, "ctx": "ascultător", "msg": "Se așteaptă conexiunile", "attr": {"port": 27017, "ssl": "dezactivat"}}
Aceste două linii conțin localhost și respectiv portul implicit al serverului MongoDB. Aceste două numere sunt necesare pentru a crea ulterior o conexiune la serverul MongoDB, astfel încât să putem efectua operațiunile noastre CRUD.
Efectuarea de operații CRUD
Acum că serverul nostru MongoDB este în funcțiune, ne putem conecta la acesta (folosind driverul corespunzător) și putem începe să efectuăm operațiuni CRUD. Pentru acest articol, vom crea o bază de date simplă pentru utilizatori, care va stoca numele și vârstele utilizatorilor noștri.
Crearea unui utilizator
Există două moduri principale de a insera utilizatorii într-o bază de date MongoDB. Ambele metode sunt destul de similare, dar metoda pe care ar trebui să o alegeți depinde de numărul de utilizatori pe care doriți să îi creați într-o anumită instanță. Dacă obiectivul dvs. este să creați un singur utilizator, ar trebui să utilizați insertOne metodă.
Cu toate acestea, dacă scopul este de a crea mai mulți utilizatori la un moment dat, atunci fișierul insera Multe metoda este o opțiune mai bună.
Exemplu de metodă insertOne MongoDB
// importați mongodb și utilizați destructurarea pentru a obține funcția MongoClient
const {MongoClient} = require ("mongodb");
// adresa URL a conexiunii și baza de date la care intenționăm să ne conectăm
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// folosind funcția de conectare de pe MongoClient pentru a vă conecta la serverul MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (eroare, client) => {
// verificați dacă conexiunea a fost stabilită
dacă (eroare) {
return console.log ('Nu s-a putut conecta la baza de date');
}
// accesați baza de date a managerului de utilizatori
const db = client.db (databaseName);
// introduceți un utilizator în baza de date
db.collection („utilizatori”). insertOne ({
nume: „John Doe”,
vârstă: „28”
}, (eroare, rezultat) => {
dacă (eroare) {
return console.log ('Nu s-a putut crea un utilizator');
}
console.log (result.ops);
})
})
Înainte de a putea crea utilizatori, trebuie stabilită o conexiune cu serverul MongoDB folosind driverul MongoDB al limbii pe care o utilizați. Cel mai popular driver și cel pe care îl folosim în acest tutorial este driverul NodeJS.
Cu prima linie a codului nostru de mai sus, putem folosi metoda de destructurare pentru a prelua funcția MongoClient de pe serverul nostru.
MongoClient acceptă trei argumente:
- O adresă URL (utilizată pentru conectarea la serverul MongoDB)
- Opțiuni / Setări (care în acest caz setează variabila „useUnifiedTopology” la adevărat, pentru a facilita utilizarea noului motor de descoperire și monitorizare a serverului)
- O funcție de apel invers care ia două argumente (eroare și client)
În cadrul funcției de apel invers a metodei MongoClient, putem introduce în cele din urmă un utilizator în baza noastră de date. Dar, înainte de a ajunge la acest punct, trebuie să obținem acces la baza de date manager-utilizator.
Una dintre frumusețile utilizării MongoDB este că nu este nevoie să creați în mod explicit o bază de date. Odată ce o referință la o anumită bază de date este generată folosind argumentul „client” (așa cum se vede în codul de mai sus), sunteți liber să începeți manipularea acesteia.
Referința la baza de date manager-utilizator pe care o generăm este stocată în variabila „db”, pe care o vom folosi pentru a insera primul nostru utilizator în baza de date.
Folosind referința „db”, putem crea o nouă colecție, căreia îi atribuim numele „utilizator”.
insertOne metoda ia două argumente necesare; documentul (utilizatorul) și o funcție de apel invers. Cu insertOne metoda, putem introduce un utilizator cu numele de Peter Davis cu vârsta de 32, în baza noastră de date.
Funcția de apel invers are două argumente (eroare și rezultat). Funcția de rezultat conține o metodă ops pe care o folosim pentru a vedea utilizatorul pe care tocmai l-am creat în baza noastră de date. Aceasta produce următoarea ieșire în consolă, după executarea codului de mai sus:
[{nume: „Peter Davis”, vârstă: „32”, _id: 60772f869475e84740003c45}]
Deși am furnizat doar două câmpuri la crearea unui utilizator, puteți vedea din rezultatul de mai sus că a fost generat un al treilea câmp. Acesta este un alt lucru interesant despre MongoDB; generează automat un id unic pentru fiecare document pe care îl creează.
Legate de: În ce mod diferă modelarea datelor în MongoDB?
Citirea unui utilizator în MongoDB
Cele două metode principale utilizate pentru citirea documentelor dintr-un MongoDB sunt: găsi și găsește una. găsi metoda este utilizată pentru a citi mai multe documente la un moment dat și găsește una metoda este utilizată pentru a citi un singur document la un moment dat.
Exemplu de metodă MongoDB findOne
// importați mongodb și utilizați destructurarea pentru a obține metoda MongoClient
const {MongoClient} = require ("mongodb");
// adresa URL a conexiunii și baza de date la care intenționăm să ne conectăm
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// folosind funcția de conectare de pe MongoClient pentru a vă conecta la serverul MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (eroare, client) => {
// verificați dacă conexiunea a fost stabilită
dacă (eroare) {
return console.log ('Nu s-a putut conecta la baza de date');
}
// creați baza de date manager-utilizator
const db = client.db (databaseName);
// găsirea unui utilizator în baza de date
db.collection ('utilizatori'). findOne ({nume: 'Peter Davis'}, (eroare, utilizator) => {
dacă (eroare) {
return console.log ('Nu s-a putut găsi utilizatorul');
}
console.log (utilizator);
})
});
Este bine să ne amintim că întotdeauna va trebui să vă conectați la serverul MongoDB și la baza de date corespunzătoare înainte de a putea efectua orice operații CRUD (așa cum se vede în exemplul nostru de mai sus).
găsește una metoda ia două argumente necesare. Primul argument conține criteriile de căutare; puteți căuta un document folosind orice nume de variabilă care îi este unic. În exemplul nostru de mai sus, folosim numele „Peter Davis”.
Al doilea argument al găsește una metoda este funcția callback care ia două argumente; prima este o eroare dacă documentul nu poate fi localizat, iar al doilea este documentul (pe care l-am numit „utilizator”).
Executarea codului de mai sus va produce următorul rezultat în consolă:
{_id: 60772f869475e84740003c45, nume: „Peter Davis”, vârstă: „32”}
Actualizarea unui utilizator în MongoDB
Există două metode disponibile pentru actualizarea documentelor în MongoDB. Deși structura pentru ambele este foarte similară, updateOne este folosit pentru a actualiza câte un document odată și actualizareMulte este folosit pentru a actualiza mai multe documente la un moment dat.
MongoDB updateOne Exemplu de metodă
// Actualizați vârsta unui utilizator
db.collection („utilizatori”). updateOne ({nume: „Peter Davis”},
{
$ set: {
vârstă: „24”
}
})
Cu codul de mai sus, putem actualiza vârsta lui Peter Davis la 24 de ani.
Ștergerea unui utilizator în MongoDB
Există două metode disponibile pentru ștergerea unui document din MongoDB. deleteOne metoda este utilizată pentru a șterge un singur document, iar fișierul ștergeMulte metoda este utilizată pentru a șterge mai multe documente.
Exemplu de metodă MongoDB deleteOne
// ștergeți un document
db.collection ('utilizatori'). deleteOne ({nume: 'Peter Davis'})
Operația de ștergere este cea mai simplă operație CRUD care poate fi efectuată în MongoDB. După cum puteți vedea în exemplul de mai sus (fără a include codul de conexiune necesar și funcția de apel invers), este nevoie de o singură linie de cod.
Acum puteți efectua operațiuni CRUD în MongoDB
Acum aveți cunoștințe de bază despre MongoDB și știți ce înseamnă NoSQL. Știți, de asemenea, ce înseamnă acronimul CRUD și de ce aceste operații sunt calități esențiale ale fiecărei baze de date.
Acest articol vă oferă toate instrumentele necesare pentru a efectua cele patru operații CRUD de bază în MongoDB. Acum că sunteți echipat cu cunoștințele de operare CRUD, puteți începe să învățați cel mai bine să vă modelați datele folosind MongoDB.
Credit de imagine: Alexander Sosluev /WiKiMedia Commons
Aveți în vedere o abordare diferită a bazelor de date? Iată cum funcționează modelarea datelor în MongoDB.
Citiți în continuare
- Programare
- Tutoriale de codificare
- Bază de date
Kadeisha Kean este un dezvoltator de software complet și scriitor tehnic / tehnologic. Are capacitatea distinctă de a simplifica unele dintre cele mai complexe concepte tehnologice; producând materiale care pot fi ușor de înțeles de către orice începător de tehnologie. Este pasionată de scriere, dezvoltarea de software-uri interesante și călătoria prin lume (prin documentare).
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Încă un pas…!
Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.