Når det er koblet til store applikasjoner som de som krever databaser, legger Python til mer funksjonalitet og kan være vanskelig å jobbe med, spesielt for nybegynnere.
Python vet at dette tillegget gir oss bedre måter å legge til databaser i prosjektene våre uten å gå på kompromiss med arbeidsflyten vår ved hjelp av en enkel og intuitiv NoSQL-database. Ved å bruke Python og en populær NoSQL-database, MongoDB, blir utviklingen mer komfortabel og alt i alt morsom.
Denne artikkelen vil gå gjennom forskjellige MongoDB-databasekonsepter for å gi deg en solid forståelse av hva den innebærer. Etter det vil vi dekke hvordan du installerer MongoDB på Linux og vise deg hvordan du bruker Python til å samhandle med MongoDB.
La oss komme i gang:
En grunnleggende introduksjon til MongoDB
MongoDB er en dokumentbasert database med åpen kildekode som gir høy skalerbarhet og fleksibilitet. Som de fleste NoSQL-databaser bruker MongoDB JSON til å lagre dataene, noe som gjør det til en av de mest fleksible og enkle databasene å jobbe med, fordi det ikke krever noe skjema.
Takket være sin fleksibilitet og læringsevne, bruker utviklere ofte MongoDB for store prosjekter som krever rask data lese- og skrivehastighet. Den leveres ferdigpakket med drivere for populære programmeringsspråk, og eliminerer dermed behovet for å lære nye programmeringsspråk før du bruker det.
MERK: Hvis du ikke er kjent med begrepet SQL- og NoSQL-databaser, kan du sjekke ressursen nedenfor:
https: // www.mongodb.com / nosql-forklart / nosql-vs-sql
Å lære å jobbe med MongoDB er en viktig ferdighet, hovedsakelig fordi vi lever i en datadrevet verden der du som programmerer vil jobbe med data 90% av tiden - om ikke mer.
Det er godt å merke seg at det er mer med MongoDB enn hva vi vil dekke i dagens guide. Vurder å sjekke den offisielle dokumentasjonen og eksterne ressurser for å lære mer.
Slik installerer du MongoDB på Linux (Debian 10)
La oss raskt gå gjennom hvordan du installerer MongoDB Community Edition på Debian 10.
MERK: Forsikre deg om at du avinstallerer MongoDB-pakken som vedlikeholdes av Debian fordi den ikke er den offisielle MongoDB-pakken, og unnlatelse av å avinstallere den kan komme i konflikt med den nyeste versjonen:
Forsikre deg først om at systemet ditt er oppdatert, noe du kan gjøre ved å bruke kommandoen:
sudo apt-get update && sudo apt-get upgrade -yDeretter installerer du GnuPG og importerer den offentlige nøkkelen til MongoDB-depotet ved hjelp av kommandoen:
sudo apt-get install gnupg && wget -qO - https: // www.mongodb.org / statisk / pgp / server-4.4.asc | sudo apt-key add -Legg til en filliste i kildene.liste.d-katalog ved hjelp av kommandoen:
ekko "deb http: // repo.mongodb.org / apt / debian buster / mongodb-org / 4.4 hoved "| sudo tee / etc / apt / sources.liste.d / mongodb-org-4.4.listeOppdater de lokale arkivene og installer mongodb-org-pakken.
sudo apt-get update && sudo apt-get install mongodb-orgNår du har installert MongoDB, starter du tjenesten ved å bruke systemet på følgende måte:
sudo systemctl start mongodDu kan også starte et mongo-skall med kommandoen mongo
Hvordan bruke Python til å jobbe med MongoDB
La oss nå diskutere hvordan du bruker Python til å jobbe med MongoDB.
På dette tidspunktet antar jeg at du allerede har Python installert og installert på systemet ditt.
Siden dette er en hurtigstartguide, ikke en omfattende MongoDB-guide, vil vi bare diskutere det grunnleggende om å bruke PyMongo til å samhandle med databasen.
PyMongo
Vi skal se på standardmetoden når vi kommuniserer med MongoDB for å bruke den offisielle Python-driveren, PyMongo. PyMongo er en veldig effektiv måte å jobbe med Python og MongoDB på, og er en av de beste måtene å komme i gang.
MERK: Selv om denne startveiledningen har mange detaljer, bør du vurdere å se på den offisielle dokumentasjonen for å lære mer.
Her er noen ressurser du kan vurdere:
https: // pymongo.readthedocs.io / no / stabil / indeks.html
https: // pypi.org / prosjekt / pymongo /
https: // docs.mongodb.com / drivere / pymongo
Hvordan installere PyMongo
Som vanlig er det første vi må gjøre å installere PyMongo Driver i vårt Python-miljø; du kan bruke conda eller pip.
For å installere, bruk kommandoen:
pip installer pymongoVent til de nødvendige transaksjonene er fullført, og du har installert PyMongo på systemet ditt. For å bekrefte, skyte av et interaktivt pythonskall og utføre kommandoen:
>>> importer pymongoNår den kjører uten problemer, har du installert PyMongo, og vi kan gå til neste seksjon.
Hvordan bruke PyMongo for å koble til MongoDB
For å koble til MongoDB ved hjelp av PyMongo, bruker vi MongoClient-objektet og oppretter en forekomst til mongod, den viktigste demonprosessen for MongoDB.
>>> fra pymongo importerer MongoClient>>> klient = MongoClient (“localhost”, 27017)
Ovennevnte kodebit importerer MongoClient-objektet fra PyMongo og oppretter deretter en klientforekomst til Mongod. Hvis du ikke trenger å spesifisere målverten og porten, kan du la den være tom og dermed opprette en standardforbindelse.
Du kan også bruke MongoDB URI-format som:
>>> klient = MongoClient ("mongodb: // localhost: 27017 /")Begge disse metodene vil gjøre det samme; det kommer bare an på hvilken du foretrekker å bruke i prosjektet ditt.
Hvordan lage en database ved hjelp av PyMongo
Å bruke PyMong til å lage en database i MongoDB er relativt grei. Alt du trenger å gjøre er å spørre databasen, og hvis den ikke eksisterer, vil MongoDB opprette den automatisk.
Tenk på koden nedenfor:
>>> fra pymongo importerer MongoClient>>> klient = MongoClient ("localhost", 27017)
>>> database = klient ["test_database"]
Du kan også bruke attributtmetoden, i stedet for ordboksmetoden, for å få tilgang til en database.
>>> database = klient.test_databaseI motsetning til andre databaser, i MongoDB, blir en database ikke fullstendig opprettet før samlinger (data) er lagret - tenk på samlinger som tabeller i SQL-databaser.
Hvordan sette inn dokumenter i en database
Som nevnt i begynnelsen av denne veiledningen lagrer MongoDB data som JSON-dokumenter lagret i en samling - tenk på dokumenter som rader i SQL-databaser.
I PyMongo bruker vi pythonordbøker for å representere et dokument. Tenk på følgende eksempelkode:
fra pymongo importerer MongoClientklient = MongoClient ("localhost", 27017)
database = klient ["movie_db"]
filmer = database.filmer
movie_ =
"title": "Mr. Robot",
"Starring": "Rami Malek, Christian Slater, Carly Chaikin",
"created": "Sam Esmail",
"Year": "2016"
id = filmer.insert_one (film_).innsatt_id
skriv ut (id)
Denne koden skal skrive ut ID-en som vist:
5ff57066fee7e4e965f02267
Når vi oppretter et nytt dokument og legger det til samlingen, opprettes en spesiell nøkkel eller _id. Verdien til ID-en må være unik i settsamlingen.
Vi kan bekrefte at databasen, samlingen og dokumentet eksisterer ved hjelp av et enkelt spørsmål.
>>> database.liste_samlingsnavn ()['filmer']
Programmører er ingenting om ikke effektivt og lat.
På grunn av denne standardhellingen kan vi også bruke metoden insert_many () til å legge til flere dokumenter i stedet for et enkelt dokument med metoden insert_one ().
Tenk på koden nedenfor:
fra pymongo importerer MongoClientklient = MongoClient ("localhost", 27017)
database = klient ["movie_db"]
filmer = database.filmer
filmer_ = [
“Tittel”: “Mr. Robot,"
“Starring”: “Rami Malek, Christian Slater, Carly Chaikin,”
"created": "Sam Esmail",
“År”: “2016.”
,
“Title”: “The Big Bang Theory,”
“Starring”: “Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch,”
“Laget”: “Chuck Lorre, Bill Prady,”
“År”: “2007.”
,
"title": "Star Trek: Original Series",
“Starring”: “William Shatner, Leonard Nimoy, Nichelle Nicholas,”
"Created": "Gene Roddenberry",
“År”: “1966.”
]
ids = filmer.insert_many (filmer_).innsatt_id
skriv ut (ids)
Dette skal gi deg _idene til det innsatte dokumentet som vist nedenfor:
[ObjectId ('5ff5749fbbc71282a634303d'), ObjectId ('5ff5749fbbc71282a634303e'), ObjectId ('5ff5749fbbc71282a634303f')]
Hvordan hente dokumenter
Å få dokumenter fra en samling er også veldig enkelt, og ved hjelp av find_one () -metoden kan vi oppnå dette i en kodelinje. Tenk på eksemplet nedenfor for å samle Gene Roddenberrys filmer.
skrive ut (filmer.find_one ("Laget": "Gene Roddenberry"))Dette bør hente alle filmene opprettet av Gene Roddenberry i den databasen.
'_id': ObjectId ('5ff57472e027b7cd22b1f2f4'), 'title': 'Star Trek: Original Series', 'Starring': 'William Shatner, Leonard Nimoy, Nichelle Nicholas,', 'Created': 'Gene Roddenbery', ' År ':' 1966 'Du kan se på en GUI-visning av databasen og samlingene. Her er et skjermbilde tatt fra MongoDB Compass på Windows.
Konklusjon
For å bruke Python-programmeringsspråket effektivt når du arbeider med databaser, trenger du en fleksibel og effektiv database for prosjektet ditt. MongoDB er det riktige valget. Vennligst ikke feil dette for å bety at MongoDB er det beste databasevalget noensinne. Det har mangler, men er også et ideelt valg for de fleste brukstilfeller.
Denne guiden har gitt deg alt du trenger for å begynne å eksperimentere med databaser ved hjelp av ditt valgte språk.
Under avskjed, vurder å lese dokumentasjon og håndbøker for å få en dypere forståelse av dette aktuelle emnet.