Python

Sådan oprettes en database i MongoDB ved hjælp af Python

Sådan oprettes en database i MongoDB ved hjælp af Python
Der er ingen tvivl om, at Python er et stærkt og populært programmeringssprog, der er i stand til at håndtere ethvert projekt, vi kaster sin vej. Det er meget fleksibelt og kan tilpasses til forskellige udviklingsmiljøer som penetrationstest til webudvikling og maskinindlæring.

Når de er koblet til store applikationer som dem, der kræver databaser, tilføjer Python mere funktionalitet og kan være svært at arbejde med, især for begyndere.

Python ved, at denne tilføjelse giver os bedre måder at tilføje databaser til vores projekter uden at gå på kompromis med vores arbejdsgang ved hjælp af en enkel og intuitiv NoSQL-database. Ved hjælp af Python og en populær NoSQL-database, MongoDB, bliver udviklingen mere behagelig og alt i alt sjovt.

Denne artikel gennemgår forskellige MongoDB-databasekoncepter for at give dig en klar forståelse af, hvad den indebærer. Derefter vil vi dække, hvordan du installerer MongoDB på Linux, og viser dig, hvordan du bruger Python til at interagere med MongoDB.

Lad os komme i gang:

En grundlæggende introduktion til MongoDB

MongoDB er en open source, dokumentbaseret database, der giver høj skalerbarhed og fleksibilitet. Som de fleste NoSQL-databaser bruger MongoDB JSON til at gemme dataene, hvilket gør det til en af ​​de mest fleksible og nemme databaser at arbejde med, fordi det ikke kræver noget skema.

Takket være sin fleksibilitet og indlæringsvenlighed bruger udviklere ofte MongoDB til store projekter, der kræver hurtige data læse- og skrivehastigheder. Den leveres færdigpakket med drivere til populære programmeringssprog, hvilket eliminerer behovet for at lære nye programmeringssprog, inden du bruger det.

BEMÆRK: Hvis du ikke er fortrolig med begrebet SQL- og NoSQL-databaser, skal du tjekke nedenstående ressource:

https: // www.mongodb.com / nosql-forklaret / nosql-vs-sql

At lære at arbejde med MongoDB er en vigtig færdighed, hovedsageligt fordi vi lever i en datadrevet verden, hvor du som programmør vil arbejde med data 90% af tiden - hvis ikke mere.

Det er godt at bemærke, at der er mere til MongoDB end hvad vi vil dække i dagens guide. Overvej at tjekke den officielle dokumentation og eksterne ressourcer for at lære mere.

Sådan installeres MongoDB på Linux (Debian 10)

Lad os hurtigt gå over, hvordan vi installerer MongoDB Community Edition på Debian 10.

BEMÆRK: Sørg for at afinstallere MongoDB-pakken, der vedligeholdes af Debian, fordi den ikke er den officielle MongoDB-pakke, og manglende afinstallation af den kan være i konflikt med den nyeste version:

Først skal du sikre dig, at dit system er opdateret, hvilket du kan gøre ved hjælp af kommandoen:

sudo apt-get opdatering && sudo apt-get upgrade -y

Dernæst skal du installere GnuPG og importere den offentlige nøgle til MongoDB-arkivet ved hjælp af kommandoen:

sudo apt-get install gnupg && wget -qO - https: // www.mongodb.org / statisk / pgp / server-4.4.asc | sudo apt-key tilføj -

Tilføj en filliste i kilderne.liste.d-mappe ved hjælp af 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

Opdater dine lokale opbevaringssteder og installer mongodb-org-pakken.

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

Når du har installeret MongoDB, skal du starte tjenesten ved hjælp af systemet som følger:

sudo systemctl start mongod

Du kan også starte en mongoskal ved hjælp af kommandoen mongo

Sådan bruges Python til at arbejde med MongoDB

Lad os nu diskutere, hvordan man bruger Python til at arbejde med MongoDB.

På dette tidspunkt antager jeg, at du allerede har konfigureret og installeret Python på dit system.

Da dette er en hurtig startguide, ikke en omfattende MongoDB-guide, vil vi kun diskutere det grundlæggende ved at bruge PyMongo til at interagere med databasen.

PyMongo

Vi skal se på standardmetoden, når vi interagerer med MongoDB for at bruge den officielle Python-driver, PyMongo. PyMongo er en meget effektiv måde at arbejde med Python og MongoDB på og er en af ​​de bedste måder at komme i gang.

BEMÆRK: Selvom denne startvejledning har masser af detaljer, bør du overveje at se på den officielle dokumentation for at lære mere.

Her er nogle ressourcer til din overvejelse:

https: // pymongo.readthedocs.io / da / stabil / indeks.html
https: // pypi.org / projekt / pymongo /
https: // docs.mongodb.com / drivere / pymongo

Sådan installeres PyMongo

Som sædvanlig er den første ting, vi skal gøre, at installere PyMongo Driver i vores Python-miljø; du kan bruge conda eller pip.

For at installere skal du bruge kommandoen:

pip installer pymongo

Vent, indtil de krævede transaktioner er gennemført, og du har PyMongo installeret på dit system. For at bekræfte skal du affyre en interaktiv pythonskal og udføre kommandoen:

>>> importer pymongo

Når det kører med succes uden fejl, har du installeret PyMongo, og vi kan gå til næste afsnit.

Sådan bruges PyMongo til at oprette forbindelse til MongoDB

For at oprette forbindelse til MongoDB ved hjælp af PyMongo bruger vi MongoClient-objektet og opretter en instans til mongod, den vigtigste dæmonproces for MongoDB.

>>> fra pymongo import MongoClient
>>> klient = MongoClient (“localhost”, 27017)

Ovenstående kodestykke importerer MongoClient-objektet fra PyMongo og opretter derefter en klientinstans til Mongong. Hvis du ikke behøver at specificere målværten og porten, kan du lade den være tom og dermed etablere en standardforbindelse.

Du kan også bruge MongoDB URI-format som:

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

Begge disse metoder vil gøre det samme; det afhænger kun af, hvilken du foretrækker at bruge i dit projekt.

Sådan oprettes en database ved hjælp af PyMongo

Brug af PyMong til at oprette en database i MongoDB er relativt ligetil. Alt du skal gøre er at søge i databasen, og hvis den ikke findes, opretter MongoDB den automatisk.

Overvej koden nedenfor:

>>> fra pymongo import MongoClient
>>> klient = MongoClient ("localhost", 27017)
>>> database = klient ["test_database"]

Du kan også bruge attributmetoden i stedet for ordbogsmetoden til at få adgang til en database.

>>> database = klient.test_database

I modsætning til andre databaser i MongoDB oprettes en database ikke fuldt ud, før samlinger (data) er gemt - tænk på samlinger som tabeller i SQL-databaser.

Sådan indsættes dokumenter i en database

Som nævnt i begyndelsen af ​​denne tutorial gemmer MongoDB data som JSON-dokumenter gemt i en samling - tænk på dokumenter som rækker i SQL-databaser.

I PyMongo bruger vi pythonordbøger til at repræsentere et dokument. Overvej følgende eksempelkode:

fra pymongo importerer MongoClient
klient = MongoClient ("localhost", 27017)
database = klient ["movie_db"]
film = database.film
film_ =
"title": "Mr. Robot",
"Starring": "Rami Malek, Christian Slater, Carly Chaikin",
"created": "Sam Esmail",
"År": "2016"

id = film.insert_one (film_).indsat_id
print (id)

Denne kode skal udskrive id'et som vist:

5ff57066fee7e4e965f02267

Når vi opretter et nyt dokument og føjer det til samlingen, oprettes en speciel nøgle eller _id. Værdien af ​​id'et skal være entydigt i sættets samling.

Vi kan kontrollere, at databasen, samlingen og dokumentet findes ved hjælp af en simpel forespørgsel.

>>> database.liste_samlingsnavn ()
['film']

Programmører er intet, hvis de ikke er effektive og dovne.

På grund af denne standardhældning kan vi også bruge metoden insert_many () til at tilføje flere dokumenter i stedet for et enkelt dokument med metoden insert_one ().

Overvej koden nedenfor:

fra pymongo importerer MongoClient
klient = MongoClient ("localhost", 27017)
database = klient ["movie_db"]
film = database.film
film_ = [

“Titel”: “Hr. Robot,"
“Starring”: “Rami Malek, Christian Slater, Carly Chaikin,”
"created": "Sam Esmail",
“År”: “2016.”
,

"Title": "The Big Bang Theory,"
"Medvirkende": "Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch,"
“Oprettet”: “Chuck Lorre, Bill Prady,”
“År”: “2007.”
,

"title": "Star Trek: Original Series",
"Medvirkende": "William Shatner, Leonard Nimoy, Nichelle Nicholas,"
"Oprettet": "Gene Roddenberry",
“År”: “1966.”

]
ids = film.insert_many (film_).indsat_id
print (id'er)

Dette skal give dig _iderne på det indsatte dokument som vist nedenfor:

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

Sådan hentes dokumenter

At få dokumenter fra en samling er også meget simpelt, og ved hjælp af find_one () -metoden kan vi opnå dette i en kodelinje. Overvej eksemplet nedenfor for at indsamle Gene Roddenberrys film.

udskrive (film.find_one ("Oprettet": "Gene Roddenberry"))

Dette skal hente alle de film, der er oprettet af Gene Roddenberry i denne database.

'_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 af databasen og samlingerne. Her er et screenshot taget fra MongoDB Compass på Windows.

Konklusion

For at bruge Python-programmeringssproget effektivt, når du arbejder med databaser, skal du bruge en fleksibel og effektiv database til dit projekt. MongoDB er det rigtige valg. Du må ikke tage fejl af dette for at betyde, at MongoDB er det bedste database-valg nogensinde. Det har mangler, men er også et ideelt valg til de fleste brugssager.

Denne guide har givet dig alt hvad du behøver for at begynde at eksperimentere med databaser ved hjælp af dit valgte sprog.

Under afsked skal du overveje at læse dokumentation og manualer for at få en dybere forståelse af dette særlige emne.

Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...