Piton

Kako stvoriti bazu podataka u MongoDB-u pomoću Pythona

Kako stvoriti bazu podataka u MongoDB-u pomoću Pythona
Nema sumnje da je Python moćan i popularan programski jezik sposoban za obradu bilo kojeg projekta kojem se založimo. Vrlo je fleksibilan i može se prilagoditi raznim razvojnim okruženjima, poput testiranja penetracije, web razvoja i strojnog učenja.

Kada se spoji s velikim aplikacijama poput onih koje zahtijevaju baze podataka, Python dodaje više funkcionalnosti i može biti teško raditi s njim, posebno za početnike.

Python zna da nam ovaj dodatak pruža bolje načine za dodavanje baza podataka u naše projekte bez ugrožavanja našeg tijeka rada pomoću jednostavne i intuitivne baze podataka NoSQL. Korištenjem Pythona i popularne NoSQL baze podataka, MongoDB, razvoj postaje ugodniji i, sve u svemu, zabavan.

Ovaj članak će se baviti raznim konceptima MongoDB baze podataka kako biste vam pružili čvrsto razumijevanje onoga što ona podrazumijeva. Nakon toga, opisat ćemo kako instalirati MongoDB na Linux i pokazati vam kako koristiti Python za interakciju s MongoDB-om.

Krenimo:

Osnovni uvod u MongoDB

MongoDB je baza podataka zasnovana na dokumentima otvorenog koda koja pruža visoku skalabilnost i fleksibilnost. Kao i većina NoSQL baza podataka, MongoDB koristi JSON za pohranu podataka, što je čini jednom od najfleksibilnijih i najjednostavnijih baza podataka za rad jer ne zahtijeva shemu.

Zahvaljujući svojoj fleksibilnosti i lakoći učenja, programeri često koriste MongoDB za velike projekte koji zahtijevaju brzu brzinu čitanja i pisanja podataka. Dolazi upakiran s pokretačkim programima za popularne programske jezike, čime se eliminira potreba za učenjem novih programskih jezika prije njegove upotrebe.

BILJEŠKA: Ako niste upoznati s konceptom SQL i NoSQL baza podataka, pogledajte dolje navedeni resurs:

https: // www.mongodb.com / nosql-objašnjeno / nosql-vs-sql

Učenje rada s MongoDB-om osnovna je vještina, uglavnom zato što živimo u svijetu koji se temelji na podacima u kojem ćete kao programer raditi s podacima 90% vremena - ako ne i više.

Dobro je napomenuti da MongoDB ima više od onoga što ćemo pokriti u današnjem vodiču. Razmislite o provjeri službene dokumentacije i vanjskih izvora da biste saznali više.

Kako instalirati MongoDB na Linux (Debian 10)

Krenimo brzo kako instalirati MongoDB Community Edition na Debian 10.

BILJEŠKA: Obavezno deinstalirajte MongoDB paket koji održava Debian jer to nije službeni MongoDB paket, a neuspjeh deinstalacije mogao bi biti u sukobu s najnovijom verzijom:

Prvo provjerite je li vaš sustav ažuran, što možete učiniti pomoću naredbe:

sudo apt-get update && sudo apt-get upgrade -y

Zatim instalirajte GnuPG i uvezite javni ključ spremišta MongoDB pomoću naredbe:

sudo apt-get install gnupg && wget -qO - https: // www.mongodb.org / static / pgp / server-4.4.uzlazno | sudo apt-key dodati -

Dodajte popis datoteka u izvore.popis.d direktorij pomoću naredbe:

echo "deb http: // repo.mongodb.org / apt / debian buster / mongodb-org / 4.4 glavna "| sudo tee / etc / apt / sources.popis.d / mongodb-org-4.4.popis

Ažurirajte svoja lokalna spremišta i instalirajte mongodb-org paket.

sudo apt-get update && sudo apt-get instalirajte mongodb-org

Nakon što uspješno instalirate MongoDB, pokrenite uslugu koristeći sustav kako slijedi:

sudo systemctl start mongod

Također možete pokrenuti mongo ljusku pomoću naredbe mongo

Kako koristiti Python za rad s MongoDB-om

Razgovarajmo sada o tome kako koristiti Python za rad s MongoDB-om.

U ovom trenutku pretpostavit ću da ste Python već postavili i instalirali na vašem sustavu.

Budući da je ovo brzi početni vodič, a ne sveobuhvatni MongoDB vodič, razgovarat ćemo samo o osnovama korištenja PyMonga za interakciju s bazom podataka.

PyMongo

Razmotrit ćemo standardnu ​​metodu prilikom interakcije s MongoDB-om radi korištenja službenog Python upravljačkog programa, PyMongo. PyMongo je vrlo učinkovit način rada s Pythonom i MongoDB-om i jedan je od najboljih načina za početak.

BILJEŠKA: Iako ovaj vodič za početak sadrži puno detalja, trebali biste razmotriti službenu dokumentaciju da biste saznali više.

Evo nekoliko izvora za razmatranje:

https: // pymongo.readthedocs.io / en / stable / index.html
https: // pypi.org / project / pymongo /
https: // docs.mongodb.com / drivers / pymongo

Kako instalirati PyMongo

Kao i obično, prvo što moramo učiniti je instalirati PyMongo Driver u naše Python okruženje; možete koristiti conda ili pip.

Za instalaciju koristite naredbu:

pip instalirati pymongo

Pričekajte dok se ne izvrše potrebne transakcije i PyMongo bude uspješno instaliran na vašem sustavu. Da biste potvrdili, aktivirajte interaktivnu ljusku pythona i izvršite naredbu:

>>> uvoz pymongo

Nakon što se uspješno pokrene bez grešaka, uspješno ste instalirali PyMongo i možemo prijeći na sljedeći odjeljak.

Kako koristiti PyMongo za povezivanje s MongoDB

Da bismo se povezali s MongoDB pomoću PyMongo, koristimo objekt MongoClient i kreiramo instancu za mongod, glavni daemon proces za MongoDB.

>>> iz pymongo uvoza MongoClient
>>> klijent = MongoClient (“localhost”, 27017)

Gornji isječak koda uvozi MongoClient objekt iz PyMongo, a zatim stvara instancu klijenta za mongod. Ako ne trebate odrediti ciljnog domaćina i port, možete ih ostaviti praznima, uspostavljajući tako zadanu vezu.

MongoDB URI format možete koristiti i kao:

>>> klijent = MongoClient ("mongodb: // localhost: 27017 /")

Obje ove metode učinit će isto; ovisi samo o tome što radije koristite u svom projektu.

Kako stvoriti bazu podataka koristeći PyMongo

Korištenje PyMonga za stvaranje baze podataka u MongoDB-u relativno je jednostavno. Sve što trebate učiniti je upitati bazu podataka, a ako ona ne postoji, MongoDB će je automatski stvoriti.

Razmotrite donji kod:

>>> iz pymongo uvoza MongoClient
>>> klijent = MongoClient ("localhost", 27017)
>>> baza podataka = klijent ["test_database"]

Također možete koristiti metodu atributa, umjesto metode rječnika, za pristup bazi podataka.

>>> baza podataka = klijent.test_database

Za razliku od ostalih baza podataka, u MongoDB-u baza podataka nije u potpunosti stvorena dok se zbirke (podaci) ne spreme - zamislite kolekcije kao tablice u SQL bazama podataka.

Kako umetnuti dokumente u bazu podataka

Kao što je spomenuto na početku ovog vodiča, MongoDB podatke pohranjuje kao JSON dokumente pohranjene u zbirci - zamislite dokumente kao retke u SQL bazama podataka.

U PyMongou koristimo rječnike pythona za predstavljanje dokumenta. Razmotrite sljedeći primjer koda:

iz pymongo uvoza MongoClient
klijent = MongoClient ("localhost", 27017)
baza podataka = klijent ["film_db"]
filmovi = baza podataka.filmovi
film_ =
"title": "Mr. Robot",
"U glavnoj ulozi": "Rami Malek, Christian Slater, Carly Chaikin",
"created": "Sam Esmail",
"Godina": "2016"

id = filmovi.umetni_jedan (film_).umetnuti_id
ispis (id)

Ovaj kôd trebao bi ispisati id kako je prikazano:

5ff57066fee7e4e965f02267

Kada izradimo novi dokument i dodamo ga u zbirku, kreira se poseban ključ ili _id. Vrijednost id-a mora biti jedinstvena u zbirci skupova.

Jednostavnim upitom možemo provjeriti postoje li baza podataka, zbirka i dokument.

>>> baza podataka.imena_popisa_zbirka ()
['filmovi']

Programeri nisu ništa, ako ne i učinkoviti i lijeni.

Zbog ove zadane sklonosti, također možemo koristiti metodu insert_many () za dodavanje više dokumenata umjesto jednog dokumenta metodom insert_one ().

Razmotrite donji kod:

iz pymongo uvoza MongoClient
klijent = MongoClient ("localhost", 27017)
baza podataka = klijent ["film_db"]
filmovi = baza podataka.filmovi
filmovi_ = [

“Naslov”: “Gospodine. Robot,"
"Glumi": "Rami Malek, Christian Slater, Carly Chaikin,"
"created": "Sam Esmail",
„Godina“: „2016."
,

"Naslov": "Teorija velikog praska",
"Glumi": "Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch,"
"Stvoreno": "Chuck Lorre, Bill Prady,"
„Godina“: „2007."
,

"title": "Zvjezdane staze: Originalna serija",
"Glumi": "William Shatner, Leonard Nimoy, Nichelle Nicholas,"
"Stvoreno": "Gene Roddenberry",
„Godina“: „1966."

]
ids = filmovi.insert_many (filmovi_).umetnuti_id
ispis (id)

Ovo bi vam trebalo dati _id umetnutog dokumenta kao što je prikazano u nastavku:

[ObjectId ('5ff5749fbbc71282a634303d'), ObjectId ('5ff5749fbbc71282a634303e'), ObjectId ('5ff5749fbbc71282a634303f')]

Kako dohvatiti dokumente

Dohvaćanje dokumenata iz zbirke također je vrlo jednostavno, a pomoću metode find_one () to možemo postići u jednom retku koda. Razmotrite primjer u nastavku kako biste prikupili filmove Genea Roddenberryja.

ispis (filmovi.find_one ("Stvoreno": "Gene Roddenberry"))

Ovo bi trebalo dohvatiti sve filmove koje je Gene Roddenberry stvorio u toj bazi podataka.

'_id': ObjectId ('5ff57472e027b7cd22b1f2f4'), 'title': 'Star Trek: Original Series', 'Starring': 'William Shatner, Leonard Nimoy, Nichelle Nicholas,', 'Created': 'Gene Roddenbery', ' Godina ':' 1966 '

Možete pogledati grafički prikaz baze podataka i zbirki. Evo snimke zaslona snimljene iz MongoDB Compass na sustavu Windows.

Zaključak

Da biste učinkovito koristili programski jezik Python u radu s bazama podataka, trebat će vam fleksibilna i učinkovita baza podataka za vaš projekt. MongoDB je pravi izbor. Molim vas, nemojte ovo zamijeniti da MongoDB predstavlja najbolji izbor baza podataka ikad. Ima nedostataka, ali je također idealan izbor za većinu slučajeva korištenja.

Ovaj vam je vodič dao sve što je potrebno da biste započeli eksperimentiranje s bazama podataka koristeći jezik koji ste odabrali.

Na rastanku razmotrite čitanje dokumentacije i priručnika kako biste stekli dublje razumijevanje ove određene teme.

Pokazivač skače ili se slučajno pomiče dok tipkate u sustavu Windows 10
Ako ustanovite da kursor miša sam skače ili se pomiče automatski, nasumično dok tipkate u Windows prijenosnom računalu ili računalu, neki od ovih prij...
Kako obrnuti smjer pomicanja miša i dodirnih pločica u sustavu Windows 10
Miš i Dodirna pločaRačunarstvo ne samo da olakšava, već i učinkovitije i oduzima puno vremena. Ne možemo zamisliti život bez ovih uređaja, ali činjeni...
Kako promijeniti pokazivač miša i veličinu, boju i shemu pokazivača na sustavu Windows 10
Pokazivač i pokazivač miša u sustavu Windows 10 vrlo su važni aspekti operativnog sustava. To se može reći i za druge operativne sustave, tako da u is...