Operații CRUD pentru MongoDB în PHP

Cuprins
Aplicațiile web se concentrează, în general, pe patru operații de bază pe care trebuie să le efectueze împotriva sistemului de persistență sau Baze de date, aceste operațiuni sunt considerate cheie atunci când învățăm să ne dezvoltăm pentru acest mediu, la care ne referim Creați, citiți, actualizați și ștergeți de asemenea cunoscut ca si CRUD pentru acronimul său în engleză.
MongoDB mulțumesc șoferului său pentru PHP, ne permite să efectuăm aceste patru operații într-un mod foarte simplu, totuși, fiind un manager al Baze de date nerelationale, nu putem cădea în eroarea de a trata toate lucrurile ca și cum am folosi un sistem relațional precum MySQL sau PostgreSQL.
CerințePentru a urma acest tutorial, trebuie să avem o versiune de MongoDB în mediul nostru de testare, pe lângă faptul că am descărcat și activat driverul corespunzător pentru PHP, pentru mai multe informații despre cum să îndepliniți aceste cerințe, puteți arunca o privire la următorul tutorial.
MongoDB a fost creat pentru a fi foarte eficient în tranzacții și operațiuni, astfel puteți rezolva probleme din viața reală fără a pierde performanța. A CRUD nu necesită multă putere de procesare în sine, ci atunci când apar mii de cereri pentru noi Bază de date într-un timp scurt, putem vedea cum MongoDB ne ajută să menținem performanța.
Colecțiile și documentele sunt entități foarte puternice, deoarece lipsind o structură definită putem stoca datele pe care le dorim menținând o imagine curată și ordonată, în plus putem accesa datele în interogări simple care, în modelele relaționale, ar putea să ne adreseze interogări intermediare. Multe tabele.
Baze de date în MongoDB sunt cunoscute sub numele de colecții, prin urmare nu le putem trata ca Baze de date tradițional, dacă nu ca un set de documente care sunt grupate sub un diferențiator cu un nume.
Crearea colecțieiPentru a crea o colecție nu avem nevoie de nicio comandă specială, pur și simplu cu aceeași comandă pe care o selectăm dacă nu există, MongoDB Acesta va fi însărcinat cu crearea unuia nou cu numele pe care l-am specificat.
Această simplitate ne ușurează munca, pe lângă reducerea cantității de cod pe care trebuie să o plasăm în aplicațiile noastre. Să vedem în imaginea următoare un exemplu de cod cu care putem selecta o colecție MongoDB:

Aici vedem cum creăm mai întâi obiectul clasei Mongo (), acest lucru este inclus atunci când instalați driverul corespunzător, apoi pur și simplu utilizând obiectul și tastând un nume de Bază de date este selectat sau creat. În acest moment trebuie să fim atenți, deoarece MongoDB nu va returna o eroare dacă Bază de date nu există, va crea doar unul nou, așa că trebuie să facem o verificare dublă a numelor pe care le scriem.
În cele din urmă putem crea o colecție în interiorul Bază de date numite direcții și cu aceasta vom avea baza pe care să ne desfășurăm operațiunile CRUD.
Pentru a efectua celelalte operațiuni ale CRUD Mai întâi trebuie să avem date, de aceea primul lucru pe care îl vom învăța este să creăm documente sau să realizăm inserții de înregistrări, după cum se potrivește cel mai bine limbajului nostru tehnic.
Mulțumesc șoferului MongoDBPur și simplu trebuie să creăm un aranjament sau o matrice, cu structura și datele necesare pentru noua noastră înregistrare și apoi să apelăm metoda insert () metoda conexiunii. Nu trebuie să avem o structură definită sau să urmăm un model pentru aceasta, dacă un document are un câmp și altul nu, procesul nu este afectat.
Să vedem în următoarea imagine codul sursă care explică procesul menționat mai sus:

Există o alternativă la metodă insert () și este metoda salva (), diferența este că salva () dacă este specificat un identificator unic și acesta există, înregistrarea existentă va fi actualizată cu noile date.
În comunitatea dezvoltatorilor, ei sugerează să lucrați mai mult cu salva () cu ce insert () pentru a genera cod care poate fi reutilizat, totuși decizia este în mâinile fiecăruia.
În mod implicit, metoda de inserare în MongoDB este asincron, aceasta înseamnă că în timp ce Bază de date introduceți sau actualizați înregistrarea PHP își continuă execuția fără a se prăbuși. Rezultatul acestui comportament este că aplicația rulează mai repede, chiar dacă nu funcționează motorul bazei de date.
Deoarece acest comportament nu ne va fi întotdeauna util, îl putem forța să se comporte sincron prin trecerea parametrului sigur atunci când executați operația, acest lucru va cauza PHP așteptați răspunsul de la MongoDB înainte de a continua cu executarea instrucțiunilor sale. Structura parametrilor sigur este următorul:
$ colectare-> inserare ($ adresă, matrice ('safe' => adevărat));

În mod implicit și dacă nu specificăm altfel, MongoDB generează automat cheile principale ale documentelor sub numele _id, la realizarea unui insert () sincron, cheia este setată și plasată în tabloul pe care tocmai l-am inserat.
Deci, dacă vrem să știm care este identificatorul unic, trebuie doar să consultăm această proprietate a matricei, dacă urmăm exemplul anterior, ar fi suficient să facem următoarele:
$ id = $ colectie ['_ id'];

Acum trecem la a doua operație, care este să citim informațiile pe care le avem în documentele noastre sau Baze de date. Aici putem face interogări pentru cheia principală direct sau pentru orice altă combinație de proprietăți ale documentului nostru.
Pentru a face căutarea, folosim pur și simplu metoda găsește una () iar la aceasta vom trece o matrice cu toate elementele pe care le vom filtra. Să vedem în imaginea următoare o interogare folosind o cheie primară și alta folosind alte proprietăți ale documentului:

Dacă observăm aici, pentru a căuta după cheia primară, primul lucru pe care îl facem este să creăm un obiect de acest tip MongoId și ești uimit de valoarea acestuia, aceasta este cheia pentru ca totul să funcționeze corect. Pe de altă parte, atunci când căutați proprietăți, este suficient doar să plasați valoarea în matrice fără a fi nevoie să creați obiecte.
Mod implicit MongoDB va returna documentul complet odată ce a găsit o potrivire, deci dacă nu dorim mai mult de una sau câteva date din acesta, trebuie să-l specificăm într-un al doilea parametru care este o matrice de proprietăți sau câmpuri pe care le dorim , să vedem în următorul cod cum se poate face acest lucru:
$ result = $ collection-> findone (array ('_id' => $ id), array ('prenume', 'prenume'));

Când plasați codul anterior, variabila de rezultat va avea o matrice care conține doar proprietățile prenumelui și prenumelui documentului care corespund criteriilor de căutare.
Trecem acum la a treia operație, aceasta este pentru a actualiza un document deja creat în colecția noastră, aici trebuie să fim atenți, deoarece dacă nu plasăm forma corectă putem ajunge să suprascriem documentul original în loc să actualizăm sau să adăugăm o proprietate .
Pentru a evita confuzia, se recomandă utilizarea $ set care este un operator care spune MongoDB că, dacă parametrul există, acesta va fi actualizat cu valoarea trimisă, iar dacă nu există, va fi creat. Acest lucru ne permite să evităm erorile din aplicația noastră și chiar mai bine ne permite să oferim aplicației noastre funcționalitatea dorită. Să vedem cum funcționează acest lucru:

MARI

Ne-am dat seama atunci cum putem schimba valoarea proprietății orașului în acest caz, cu toate acestea, dacă nu ar exista în registru, ar fi generată fără a modifica ceea ce există deja acolo.
Există ceva special în care putem face MongoDB și asta nu se poate face într-un motor relațional și este posibilitatea adăugați tablouri în documentele noastre, cu aceasta putem adăuga liste de valori într-o proprietate, astfel încât să putem genera documente din ce în ce mai complexe și complete pentru nevoile noastre, toate fără a fi nevoie să afectăm structura generală a altor documente care coexistă în cadrul aceleiași colecții.
Aceasta este ultima operație, ștergerea este foarte simplă, aproape la fel de mult sau mai mult decât adăugarea sau actualizarea, căutăm pur și simplu un criteriu sau un filtru de ștergere, îl încărcăm într-o matrice și executăm metoda elimina ().
Singurul lucru pe care trebuie să-l avem în vedere este că MongoDB va șterge toate documentele care corespund acestui criteriu, de aceea, dacă dorim să ștergem doar unul, trebuie să folosim proprietatea doar unul și așezați-l în Adevărat. Să vedem mai jos codul pentru a șterge un document:

Cu aceasta terminăm acest tutorial, am văzut într-un mod de bază, dar funcțional, cum putem include un CRUD pe o structură nerelatională precum MongoDB din PHP. Dacă putem stăpâni acest lucru, vom crea aplicații de înaltă performanță și foarte flexibile, care ne vor ajuta să ne impresionăm utilizatorii.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave