CRUD operacijos MongoDB PHP

Turinys
Paprastai žiniatinklio programos sutelkia dėmesį į keturias pagrindines operacijas, kurias jos turi atlikti prieš savo atkaklumo sistemą Duomenų bazės, šios operacijos laikomos pagrindinėmis, kai mokomės tobulėti šioje aplinkoje Kurkite, skaitykite, atnaujinkite ir ištrinkite taip pat žinomas kaip ŽALIA dėl akronimo anglų kalba.
MongoDB ačiū jo vairuotojui PHP, leidžia mums atlikti šias keturias operacijas labai paprastai, tačiau būdami vadovu Nesusijusios duomenų bazės, negalime pakliūti į klaidą, kai elgiamės su visais dalykais taip, lyg naudotume santykių sistemą, pvz MySQL arba „PostgreSQL“.
ReikalavimaiNorėdami sekti šią pamoką, turime turėti versiją MongoDB mūsų bandymų aplinkoje, be to, kad atsisiuntėte ir suaktyvinote atitinkamą tvarkyklę PHP, jei norite gauti daugiau informacijos apie tai, kaip įvykdyti šiuos reikalavimus, galite pažvelgti į šią mokymo programą.
MongoDB buvo sukurtas taip, kad būtų labai efektyvus sandoriuose ir operacijose, tokiu būdu galite išspręsti realias gyvenimo problemas neprarasdami našumo. A ŽALIA nereikalauja daug apdorojimo galios, bet kai mūsų pateikiami tūkstančiai užklausų Duomenų bazė per trumpą laiką galime pamatyti, kaip MongoDB padeda mums išlaikyti našumą.
Kolekcijos ir dokumentai yra labai galingi subjektai, nes neturėdami apibrėžtos struktūros galime saugoti norimus duomenis, kad išlaikytume švarų ir tvarkingą vaizdą, be to, galime pasiekti duomenis paprastomis užklausomis, kurios santykių modeliuose galėtų mums pateikti tarpines užklausas.
The Duomenų bazės į MongoDB yra žinomos kaip kolekcijos, todėl negalime jų traktuoti kaip Duomenų bazės tradicinis, jei ne kaip dokumentų rinkinys, sugrupuotas pagal diferencijuotą pavadinimą.
Kuriama kolekcijaNorėdami sukurti kolekciją, mums nereikia jokios specialios komandos, tiesiog naudojant tą pačią komandą, kurią pasirenkame, jei jos nėra, MongoDB Ji bus atsakinga už naujo pavadinimo, kurio pavadinimą mes nurodėme, sukūrimą.
Šis paprastumas palengvina mūsų darbą, be to, sumažina kodo kiekį, kurį turime įdėti į savo programas. Toliau pateiktame paveikslėlyje pamatysime kodo pavyzdį, kuriuo galime pasirinkti kolekciją MongoDB:

Čia matome, kaip pirmiausia sukuriame klasės objektą Mongo (), tai įtraukiama diegiant atitinkamą tvarkyklę, tada tiesiog naudojant objektą ir įvedant pavadinimą Duomenų bazė yra pasirinktas arba sukurtas. Šiuo metu turime būti atsargūs, nes MongoDB klaidos negrąžins, jei Duomenų bazė jis neegzistuoja, jis tiesiog sukurs naują, todėl turime dar kartą patikrinti parašytus vardus.
Galiausiai viduje galime sukurti kolekciją Duomenų bazė vadinamos kryptimis, ir tai turėsime bazę savo operacijoms atlikti ŽALIA.
Siekiant atlikti kitas operacijas ŽALIA Pirmiausia turime turėti duomenų, todėl pirmas dalykas, kurį išmoksime, yra sukurti dokumentus ar įrašus, kaip geriausiai tinka mūsų techninei kalbai.
Ačiū vairuotojui MongoDBMes tiesiog turime sukurti susitarimą ar masyvą su struktūra ir reikiamais duomenimis mūsų naujam įrašui ir tada paskambinti metodui Įdėti () prisijungimo būdas. Mums nereikia turėti apibrėžtos struktūros ar sekti jos modelio, jei dokumente yra laukas, o kitame nėra, procesas neturi įtakos.
Toliau pateiktame paveikslėlyje pamatysime šaltinio kodą, paaiškinantį pirmiau minėtą procesą:

Yra alternatyva metodui Įdėti () ir yra metodas sutaupyti (), skirtumas tas sutaupyti () jei nurodytas unikalus identifikatorius ir jis egzistuoja, esamas įrašas bus atnaujintas naujais duomenimis.
Kūrėjų bendruomenėje jie siūlo daugiau dirbti sutaupyti () ką su Įdėti () sukurti kodą, kurį būtų galima pakartotinai naudoti, tačiau sprendimas yra kiekvieno iš jų rankose.
Pagal numatytuosius nustatymus įterpimo metodas MongoDB yra asinchroninis, tai reiškia, kad nors Duomenų bazė įterpiate ar atnaujinate įrašą PHP jis tęsia savo vykdymą be gedimų. Šios elgsenos rezultatas yra tai, kad programa veikia greičiau, net jei duomenų bazės variklis to nedaro.
Kadangi toks elgesys mums ne visada bus naudingas, mes galime priversti jį veikti sinchroniškai, perduodami parametrą saugus atliekant operaciją, tai sukels PHP laukti atsakymo iš MongoDB prieš tęsdamas savo nurodymų vykdymą. Parametrų struktūra saugus yra toks:
$ collection-> insert ($ adresas, masyvas ('safe' => true));

Pagal numatytuosius nustatymus ir jei nenurodome kitaip, MongoDB automatiškai sugeneruoja pirminius dokumentų raktus pagal pavadinimą _id, darant a Įdėti () sinchroniškai raktas nustatomas ir dedamas į ką tik įterptą masyvą.
Taigi, jei norime sužinoti, kas yra unikalus identifikatorius, turime tik susipažinti su šia masyvo savybe, jei laikysimės ankstesnio pavyzdžio, užtektų atlikti tik šiuos veiksmus:
$ id = $ collection ['_ id'];

Dabar pereiname prie antrosios operacijos, ty skaityti informaciją, kurią turime savo dokumentuose arba Duomenų bazės. Čia galime tiesiogiai užklausti pirminį raktą arba bet kurį kitą mūsų dokumento savybių derinį.
Norėdami atlikti paiešką, mes tiesiog naudojame metodą findone () ir tai mes perduosime masyvą su visais elementais, kuriuos ketiname filtruoti. Toliau pateiktame paveikslėlyje pamatysime užklausą naudojant pirminį raktą ir kitą naudojant kitas dokumento ypatybes:

Jei čia pastebime, kad ieškoti pagal pirminį raktą, pirmiausia mes sukuriame tokio tipo objektą MongoId ir jus stebina jo vertė, tai yra svarbiausia, kad viskas veiktų tinkamai. Kita vertus, kai ieškoma savybių, pakanka tik įdėti vertę į masyvą, nesukuriant objektų.
Numatytas MongoDB radęs atitikimą jis grąžins visą dokumentą, taigi, jei nenorime iš jo daugiau nei vieno ar kelių duomenų, turime nurodyti jį antrame parametre, kuris yra norimų savybių ar laukų masyvas , pažiūrėkime į šį kodą, kaip tai galima padaryti:
$ result = $ collection-> findone (masyvas ('_id' => $ id), masyvas ('vardas', 'pavardė'));

Įdėjus ankstesnį kodą, rezultatų kintamasis turės masyvą, kuriame yra tik paieškos kriterijus atitinkančios dokumento vardo ir pavardės savybės.
Dabar pereiname prie trečiosios operacijos, tai yra atnaujinti mūsų kolekcijoje jau sukurtą dokumentą, čia turime būti atsargūs, nes jei neįdėsime tinkamos formos, galiausiai perrašysime originalų dokumentą, o ne atnaujinsime ar pridėsime nuosavybę .
Siekiant išvengti painiavos, rekomenduojama naudoti $ rinkinys kuris yra operatorius, kuris pasako MongoDB kad jei parametras egzistuoja, jis bus atnaujintas siunčiama verte, o jei jo nėra, jis bus sukurtas. Tai leidžia išvengti klaidų mūsų programoje ir dar geriau leidžia mums suteikti savo programai norimą funkcionalumą. Pažiūrėkime, kaip tai veikia:

DIDELIS

Tada supratome, kaip šiuo atveju galime pakeisti miesto turto vertę, tačiau, jei jos registre nebūtų, ji būtų sukurta nekeičiant to, kas jau yra.
Mes galime padaryti kažką ypatingo MongoDB to negalima padaryti naudojant santykių variklį, ir tai yra galimybė pridėti masyvus mūsų dokumentuose, todėl mes galime pridėti nuosavybės verčių sąrašus, kad galėtume sukurti vis sudėtingesnius ir išsamesnius dokumentus mūsų poreikiams, ir tai neturėtų įtakos bendrai kitų toje pačioje kolekcijoje esančių dokumentų struktūrai.
Tai paskutinė operacija, ištrinti labai paprasta, beveik tiek pat ar daugiau nei pridėti ar atnaujinti, mes tiesiog ieškome kriterijaus ar ištrynimo filtro, įkeliame jį į masyvą ir vykdome metodą pašalinti ().
Vienintelis dalykas, kurį turime turėti omenyje, yra tai MongoDB ištrins visus dokumentus, atitinkančius šį kriterijų, todėl, jei norime ištrinti tik vieną, privalome naudoti nuosavybę tik vieną ir įdėkite jį Tiesa. Toliau pažiūrėkime kodą, kaip ištrinti dokumentą:

Baigę šį vadovėlį, pamatėme pagrindinį, bet funkcionalų būdą, kaip galime įtraukti a ŽALIA apie nesusijusią struktūrą kaip MongoDB nuo PHP. Jei sugebėsime tai įvaldyti, sukursime didelio našumo ir labai lanksčias programas, kurios padės mums padaryti įspūdį vartotojams.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave