Python

Een database maken in MongoDB met Python

Een database maken in MongoDB met Python
Het lijdt geen twijfel dat Python een krachtige en populaire programmeertaal is die in staat is om elk project aan te kunnen dat we op zijn pad krijgen. Het is zeer flexibel en kan worden aangepast aan verschillende ontwikkelomgevingen, zoals penetratietesten tot webontwikkeling en machine learning.

In combinatie met grote applicaties zoals die waarvoor databases nodig zijn, voegt Python meer functionaliteit toe en kan het moeilijk zijn om mee te werken, vooral voor beginners.

Python weet dat deze toevoeging ons betere manieren biedt om databases aan onze projecten toe te voegen zonder onze workflow in gevaar te brengen met behulp van een eenvoudige en intuïtieve NoSQL-database. Met behulp van Python en een populaire NoSQL-database, MongoDB, wordt ontwikkeling comfortabeler en, al met al, leuk.

Dit artikel gaat over verschillende MongoDB-databaseconcepten om u een goed begrip te geven van wat het inhoudt. Daarna bespreken we hoe u MongoDB op Linux installeert en laten we u zien hoe u Python gebruikt om met MongoDB te communiceren.

Laten we beginnen:

Een basisinleiding tot MongoDB

MongoDB is een open-source, op documenten gebaseerde database die een hoge schaalbaarheid en flexibiliteit biedt. Zoals de meeste NoSQL-databases, gebruikt MongoDB JSON om de gegevens op te slaan, waardoor het een van de meest flexibele en gemakkelijke databases is om mee te werken omdat er geen schema voor nodig is.

Dankzij de flexibiliteit en het leergemak gebruiken ontwikkelaars MongoDB vaak voor grote projecten die hoge lees- en schrijfsnelheden van gegevens vereisen. Het wordt geleverd met stuurprogramma's voor populaire programmeertalen, waardoor het niet meer nodig is om nieuwe programmeertalen te leren voordat u het gebruikt.

OPMERKING: Als u niet bekend bent met het concept van SQL- en NoSQL-databases, bekijk dan de onderstaande bron:

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

Leren werken met MongoDB is een essentiële vaardigheid, vooral omdat we in een datagedreven wereld leven waar je als programmeur 90% van de tijd - zo niet meer - met data werkt.

Het is goed om op te merken dat MongoDB meer is dan wat we in de gids van vandaag zullen behandelen. Overweeg om de officiële documentatie en externe bronnen te raadplegen voor meer informatie.

Hoe MongoDB op Linux te installeren (Debian 10)

Laten we snel kijken hoe we de MongoDB Community Edition op Debian 10 . kunnen installeren.

OPMERKING: Zorg ervoor dat u het MongoDB-pakket verwijdert dat door Debian wordt onderhouden, omdat het niet het officiële MongoDB-pakket is, en als u het niet verwijdert, kan dit in strijd zijn met de nieuwste versie:

Zorg er eerst voor dat uw systeem up-to-date is, wat u kunt doen met de opdracht:

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

Installeer vervolgens GnuPG en importeer de openbare sleutel van de MongoDB-repository met behulp van de opdracht:

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

Voeg een bestandenlijst toe aan de bronnen.lijst.d map met behulp van de opdracht:

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

Werk uw lokale repositories bij en installeer het mongodb-org-pakket.

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

Nadat u MongoDB met succes hebt geïnstalleerd, start u de service als volgt met het systeem:

sudo systemctl start mongod

Je kunt ook een mongo-shell starten met het commando mongo

Python gebruiken om met MongoDB te werken

Laten we nu bespreken hoe we Python kunnen gebruiken om met MongoDB te werken.

Op dit punt ga ik ervan uit dat je Python al hebt ingesteld en op je systeem hebt geïnstalleerd.

Aangezien dit een snelstartgids is en geen uitgebreide MongoDB-gids, bespreken we alleen de basisprincipes van het gebruik van PyMongo voor interactie met de database.

PyMongo

We zullen kijken naar de standaardmethode bij interactie met MongoDB om de officiële Python-driver, PyMongo, te gebruiken. PyMongo is een zeer efficiënte manier om met Python en MongoDB te werken en is een van de beste manieren om te beginnen.

OPMERKING: Hoewel deze handleiding om aan de slag te gaan veel details bevat, kunt u overwegen de officiële documentatie te bekijken voor meer informatie.

Hier zijn enkele bronnen ter overweging:

https://pymongo.leesdedocs.io/nl/stabiel/index.html
https://pypi.org/project/pymongo/
https://docs.mongodb.com/drivers/pymongo

Hoe PyMongo te installeren

Zoals gewoonlijk moeten we eerst PyMongo Driver in onze Python-omgeving installeren; je kunt conda of pip . gebruiken.

Gebruik de opdracht om te installeren:

pip installeer pymongo

Wacht tot de vereiste transacties zijn voltooid en u PyMongo met succes op uw systeem hebt geïnstalleerd. Om te bevestigen, start u een interactieve python-shell en voert u de opdracht uit:

>>> import pymongo

Zodra het succesvol is uitgevoerd zonder fouten, hebt u PyMongo met succes geïnstalleerd en kunnen we naar het volgende gedeelte gaan.

Hoe PyMongo te gebruiken om verbinding te maken met MongoDB

Om verbinding te maken met MongoDB met behulp van PyMongo, gebruiken we het MongoClient-object en maken we een instantie voor mongod, het belangrijkste daemon-proces voor de MongoDB.

>>> van pymongo import MongoClient
>>> klant = MongoClient ("localhost", 27017)

Het bovenstaande codefragment importeert het MongoClient-object uit PyMongo en maakt vervolgens een clientinstantie naar mongod. Als u de doelhost en -poort niet hoeft op te geven, kunt u deze leeg laten en zo een standaardverbinding tot stand brengen.

U kunt de MongoDB URI-indeling ook gebruiken als:

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

Beide methoden zullen hetzelfde doen; het hangt er alleen van af welke u het liefst in uw project gebruikt.

Een database maken met PyMongo

PyMong gebruiken om een ​​database te maken in MongoDB is relatief eenvoudig. Het enige wat u hoeft te doen is de database opvragen, en als deze niet bestaat, zal MongoDB deze automatisch maken.

Overweeg de onderstaande code:

>>> van pymongo import MongoClient
>>> klant = MongoClient("localhost", 27017)
>>> database = klant["test_database"]

U kunt ook de attribuutmethode gebruiken, in plaats van de woordenboekmethode, om toegang te krijgen tot een database.

>>> database = klant.test_database

In tegenstelling tot andere databases wordt in MongoDB een database pas volledig gemaakt als verzamelingen (gegevens) zijn opgeslagen - denk aan verzamelingen als tabellen in SQL-databases.

Documenten invoegen in een database

Zoals aan het begin van deze tutorial vermeld, slaat MongoDB gegevens op als JSON-documenten die zijn opgeslagen in een verzameling - denk aan documenten als rijen in SQL-databases.

In PyMongo gebruiken we python-woordenboeken om een ​​document weer te geven. Beschouw de volgende voorbeeldcode:

van pymongo import MongoClient
client = MongoClient("localhost", 27017)
database = client["movie_db"]
films = database.films
film_ =
"title": "Mr. Robot",
"Met in de hoofdrol": "Rami Malek, Christian Slater, Carly Chaikin",
"gemaakt": "Sam Esmail",
"Jaar": "2016"

id = films.insert_one(film_).ingevoegd_id
print(id)

Deze code zou de id moeten afdrukken zoals weergegeven:

5ff57066fee7e4e965f02267

Wanneer we een nieuw document maken en aan de verzameling toevoegen, wordt er een speciale sleutel of _id gemaakt. De waarde van de id moet uniek zijn in de ingestelde verzameling.

We kunnen verifiëren dat de database, verzameling en het document bestaan ​​door een eenvoudige query te gebruiken.

>>> databank.list_collection_names()
['films']

Programmeurs zijn niets anders dan efficiënt en lui.

Vanwege deze standaard neiging kunnen we ook de methode insert_many() gebruiken om meerdere documenten toe te voegen in plaats van een enkel document met de methode insert_one ().

Overweeg de onderstaande code:

van pymongo import MongoClient
client = MongoClient("localhost", 27017)
database = client["movie_db"]
films = database.films
films_ = [

“titel”: “Mr. Robot,"
"Met in de hoofdrol": "Rami Malek, Christian Slater, Carly Chaikin,"
"gemaakt": "Sam Esmail",
“Jaar”: “2016.”
,

"titel": "De oerknaltheorie",
“Met in de hoofdrol”: “Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch,”
"Gecreëerd": "Chuck Lorre, Bill Prady,"
“Jaar”: “2007.”
,

"titel": "Star Trek: originele serie",
“Met in de hoofdrol”: “William Shatner, Leonard Nimoy, Nichelle Nicholas,”
"Gecreëerd": "Gene Roddenberry",
“Jaar”: “1966.”

]
id's = films.insert_many(movies_).insert_ids_
print(id)

Dit zou u de _id's van het ingevoegde document moeten geven, zoals hieronder weergegeven:

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

Documenten ophalen

Documenten uit een verzameling halen is ook heel eenvoudig, en met de methode find_one() kunnen we dit in één regel code doen. Overweeg het onderstaande voorbeeld om de films van Gene Roddenberry te verzamelen.

afdrukken (films).find_one("Gemaakt": "Gene Roddenberry"))

Dit zou alle films moeten ophalen die door Gene Roddenberry in die database zijn gemaakt.

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

U kunt een GUI-weergave van de database en de collecties bekijken. Hier is een screenshot gemaakt van MongoDB Compass op Windows.

Conclusie

Om de programmeertaal Python effectief te gebruiken bij het werken met databases, hebt u een flexibele en efficiënte database nodig voor uw project. MongoDB is de juiste keuze. Vergis u er alstublieft niet in dat MongoDB de beste databasekeuze ooit is. Het heeft tekortkomingen, maar is ook een ideale keuze voor de meeste gebruikssituaties.

Deze gids heeft je alles gegeven wat je nodig hebt om te experimenteren met databases in de taal van je keuze.

Overweeg bij het afscheid documentatie en handleidingen te lezen om een ​​beter begrip van dit specifieke onderwerp te krijgen.

Hoe League Of Legends op Ubuntu 14 te installeren.04
Als je fan bent van League of Legends, dan is dit een kans voor jou om League of Legends te testen. Merk op dat LOL wordt ondersteund op PlayOnLinux a...
Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...
Installeer de nieuwste Dolphin Emulator voor Gamecube & Wii op Linux
Met de Dolphin Emulator kun je de door jou gekozen Gamecube- en Wii-spellen spelen op Linux Personal Computers (pc). Omdat het een vrij beschikbare e...