Python

Hvordan lage en database i MongoDB ved hjelp av Python

Hvordan lage en database i MongoDB ved hjelp av Python
Det er ingen tvil om at Python er et kraftig og populært programmeringsspråk som er i stand til å håndtere ethvert prosjekt vi kaster sin vei. Den er veldig fleksibel og kan tilpasses forskjellige utviklingsmiljøer som penetrasjonstesting til nettutvikling og maskinlæring.

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 -y

Deretter 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.liste

Oppdater de lokale arkivene og installer mongodb-org-pakken.

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

Når du har installert MongoDB, starter du tjenesten ved å bruke systemet på følgende måte:

sudo systemctl start mongod

Du 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 pymongo

Vent 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 pymongo

Nå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_database

I 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 MongoClient
klient = 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 MongoClient
klient = 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.

Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...
Mus AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
Nettbrettbrukere savner ofte musepekeren, spesielt når de bruker vanlige bærbare datamaskiner. Berøringsskjermen Smarttelefoner og nettbrett har mange...