Pytonorm

Hur man skapar en databas i MongoDB med Python

Hur man skapar en databas i MongoDB med Python
Det råder ingen tvekan om att Python är ett kraftfullt och populärt programmeringsspråk som kan hantera alla projekt vi känner för. Den är mycket flexibel och kan anpassas till olika utvecklingsmiljöer som penetrationstestning till webbutveckling och maskininlärning.

När de är kopplade till stora applikationer som de som kräver databaser lägger Python till mer funktionalitet och kan vara svårt att arbeta med, särskilt för nybörjare.

Python vet att det här tillägget ger oss bättre sätt att lägga till databaser i våra projekt utan att kompromissa med vårt arbetsflöde med en enkel och intuitiv NoSQL-databas. Med Python och en populär NoSQL-databas, MongoDB, blir utvecklingen bekvämare och allt som allt roligare.

Denna artikel kommer att gå igenom olika MongoDB-databaskoncept för att ge dig en gedigen förståelse för vad den innebär. Efter det kommer vi att beskriva hur du installerar MongoDB på Linux och visar dig hur du använder Python för att interagera med MongoDB.

Låt oss komma igång:

En grundläggande introduktion till MongoDB

MongoDB är en öppen källkod, dokumentbaserad databas som ger hög skalbarhet och flexibilitet. Som de flesta NoSQL-databaser använder MongoDB JSON för att lagra data, vilket gör det till en av de mest flexibla och enkla databaserna att arbeta med eftersom det inte kräver något schema.

Tack vare sin flexibilitet och inlärningslätthet använder utvecklare ofta MongoDB för stora projekt som kräver snabb data- och skrivhastighet. Den levereras förpackad med drivrutiner för populära programmeringsspråk, vilket eliminerar behovet av att lära sig nya programmeringsspråk innan du använder det.

NOTERA: Om du inte känner till begreppet SQL- och NoSQL-databaser, kolla in resursen nedan:

https: // www.mongodb.com / nosql-förklarad / nosql-vs-sql

Att lära sig att arbeta med MongoDB är en viktig färdighet, främst för att vi lever i en datadriven värld där du som programmerare kommer att arbeta med data 90% av tiden - om inte mer.

Det är bra att notera att det finns mer att MongoDB än vad vi kommer att täcka i dagens guide. Överväg att kontrollera den officiella dokumentationen och externa resurser för att lära dig mer.

Så här installerar du MongoDB på Linux (Debian 10)

Låt oss snabbt gå igenom hur du installerar MongoDB Community Edition på Debian 10.

NOTERA: Se till att du avinstallerar MongoDB-paketet som upprätthålls av Debian eftersom det inte är det officiella MongoDB-paketet och misslyckandet med att avinstallera det kan komma i konflikt med den senaste versionen:

Kontrollera först att ditt system är uppdaterat, vilket du kan göra med kommandot:

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

Installera sedan GnuPG och importera den offentliga nyckeln till MongoDB-förvaret med kommandot:

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

Lägg till en fillista i källorna.lista.d-katalog med kommandot:

eko "deb http: // repo.mongodb.org / apt / debian buster / mongodb-org / 4.4 huvud "| sudo tee / etc / apt / sources.lista.d / mongodb-org-4.4.lista

Uppdatera dina lokala arkiv och installera mongodb-org-paketet.

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

När du har installerat MongoDB, starta tjänsten med systemet enligt följande:

sudo systemctl starta mongod

Du kan också starta ett mongoskal med kommandot mongo

Hur man använder Python för att arbeta med MongoDB

Låt oss nu diskutera hur man använder Python för att arbeta med MongoDB.

Vid den här tiden antar jag att du redan har Python installerat och installerat på ditt system.

Eftersom detta är en snabbstartguide, inte en omfattande MongoDB-guide, kommer vi bara att diskutera grunderna för att använda PyMongo för att interagera med databasen.

PyMongo

Vi ska titta på standardmetoden när vi interagerar med MongoDB för att använda den officiella Python-drivrutinen, PyMongo. PyMongo är ett mycket effektivt sätt att arbeta med Python och MongoDB och är ett av de bästa sätten att komma igång.

NOTERA: Även om den här startguiden har massor av detaljer bör du överväga att titta på den officiella dokumentationen för att lära dig mer.

Här är några resurser som du kan tänka på:

https: // pymongo.läsdoktorer.io / sv / stabil / index.html
https: // pypi.org / projekt / pymongo /
https: // docs.mongodb.com / drivrutiner / pymongo

Hur man installerar PyMongo

Som vanligt är det första vi behöver göra att installera PyMongo Driver i vår Python-miljö. du kan använda conda eller pip.

För att installera, använd kommandot:

pip installera pymongo

Vänta tills de nödvändiga transaktionerna har slutförts och du har PyMongo installerat på ditt system. För att bekräfta, starta ett interaktivt pythonskal och kör kommandot:

>>> importera pymongo

När den väl har körts utan fel har du installerat PyMongo och vi kan gå vidare till nästa avsnitt.

Hur man använder PyMongo för att ansluta till MongoDB

För att ansluta till MongoDB med PyMongo använder vi MongoClient-objektet och skapar en instans till mongod, den huvudsakliga demonprocessen för MongoDB.

>>> från pymongo import MongoClient
>>> klient = MongoClient (“localhost”, 27017)

Ovanstående kodavsnitt importerar MongoClient-objektet från PyMongo och skapar sedan en klientinstans till Mongod. Om du inte behöver ange målvärd och port kan du lämna den tom och därmed skapa en standardanslutning.

Du kan också använda MongoDB URI-format som:

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

Båda dessa metoder kommer att göra samma sak; det beror bara på vilken du föredrar att använda i ditt projekt.

Hur man skapar en databas med PyMongo

Att använda PyMong för att skapa en databas i MongoDB är relativt enkelt. Allt du behöver göra är att fråga databasen, och om den inte finns kommer MongoDB att skapa den automatiskt.

Tänk på koden nedan:

>>> från pymongo import MongoClient
>>> klient = MongoClient ("localhost", 27017)
>>> databas = klient ["test_database"]

Du kan också använda attributmetoden istället för ordboksmetoden för att komma åt en databas.

>>> databas = klient.test_databas

Till skillnad från andra databaser i MongoDB skapas inte en databas helt förrän samlingar (data) har sparats - tänk på samlingar som tabeller i SQL-databaser.

Hur man sätter in dokument i en databas

Som nämnts i början av denna handledning lagrar MongoDB data som JSON-dokument lagrade i en samling-tänk på dokument som rader i SQL-databaser.

I PyMongo använder vi pythonordböcker för att representera ett dokument. Tänk på följande exempelkod:

från pymongo importera MongoClient
klient = MongoClient ("localhost", 27017)
databas = klient ["movie_db"]
filmer = databas.filmer
movie_ =
"title": "Mr. Robot",
"Starring": "Rami Malek, Christian Slater, Carly Chaikin",
"created": "Sam Esmail",
"År": "2016"

id = filmer.insert_one (film_).insatt_id
skriva ut (id)

Den här koden ska skriva ut id: t som visas:

5ff57066fee7e4e965f02267

När vi skapar ett nytt dokument och lägger till det i samlingen skapas en specialnyckel eller _id. Värdet på id: t måste vara unikt i uppsättningssamlingen.

Vi kan verifiera att databasen, samlingen och dokumentet finns med en enkel fråga.

>>> databas.lista_samlingsnamn ()
['filmer']

Programmerare är ingenting om inte effektivt och lat.

På grund av denna standardlutning kan vi också använda metoden insert_many () för att lägga till flera dokument istället för ett enda dokument med metoden insert_one ().

Tänk på koden nedan:

från pymongo importera MongoClient
klient = MongoClient ("localhost", 27017)
databas = klient ["movie_db"]
filmer = databas.filmer
filmer_ = [

“Title”: “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,"
“Skapad”: “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_).insert_ids
skriva ut (id)

Detta ska ge dig _ids av det infogade dokumentet som visas nedan:

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

Hur man hämtar dokument

Att få dokument från en samling är också väldigt enkelt, och med hjälp av find_one () -metoden kan vi åstadkomma detta i en kodrad. Tänk på exemplet nedan för att samla in Gene Roddenberrys filmer.

skriva ut (filmer.find_one ("Skapad": "Gene Roddenberry"))

Detta bör hämta alla filmer som skapats 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 titta på en GUI-visning av databasen och samlingarna. Här är en skärmdump fångad från MongoDB Compass på Windows.

Slutsats

För att kunna använda Python-programmeringsspråket effektivt när du arbetar med databaser behöver du en flexibel och effektiv databas för ditt projekt. MongoDB är rätt val. Vänligen misstag inte detta för att betyda att MongoDB är det bästa databasvalet någonsin. Det har brister men är också ett perfekt val för de flesta användningsfall.

Den här guiden har gett dig allt du behöver för att börja experimentera med databaser med ditt språk.

I avsked, överväg att läsa dokumentation och manualer för att få en djupare förståelse för just detta ämne.

Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...