Yhdistettynä suuriin sovelluksiin, kuten tietokantoja vaativiin sovelluksiin, Python lisää toimintoja ja voi olla vaikea työskennellä etenkin aloittelijoille.
Python tietää, että tämä lisäys tarjoaa meille parempia tapoja lisätä tietokantoja projekteihimme vaarantamatta työnkulkua yksinkertaisen ja intuitiivisen NoSQL-tietokannan avulla. Pythonin ja suositun NoSQL-tietokannan, MongoDB: n avulla kehitys tulee mukavammaksi ja kaiken kaikkiaan hauskaksi.
Tässä artikkelissa käydään läpi useita MongoDB-tietokantakonsepteja, jotta saat selkeän käsityksen siitä, mitä se sisältää. Sen jälkeen käsittelemme MongoDB: n asentamista Linuxiin ja näytämme sinulle, miten Pythonia käytetään vuorovaikutuksessa MongoDB: n kanssa.
Aloitetaan:
Perustiedot MongoDB: stä
MongoDB on avoimen lähdekoodin asiakirjapohjainen tietokanta, joka tarjoaa suuren skaalautuvuuden ja joustavuuden. Kuten useimmat NoSQL-tietokannat, MongoDB käyttää JSONia tietojen tallentamiseen, mikä tekee siitä yhden joustavimmista ja helpoimmista tietokannoista työskennellä, koska se ei vaadi skeemaa.
Joustavuuden ja oppimisen helppouden ansiosta kehittäjät käyttävät MongoDB: tä usein suurissa projekteissa, jotka edellyttävät nopeita tietojen luku- ja kirjoitusnopeuksia. Se on valmiiksi pakattu suosittujen ohjelmointikielien ohjaimien kanssa, jolloin uusien ohjelmointikielten oppiminen ei ole tarpeen ennen sen käyttöä.
MERKINTÄ: Jos et ole perehtynyt SQL- ja NoSQL-tietokantojen käsitteeseen, tutustu seuraavaan resurssiin:
https: // www.mongodb.com / nosql-selitetty / nosql-vs-sql
Oppiminen työskentelemään MongoDB: n kanssa on välttämätön taito lähinnä siksi, että elämme datavetoisessa maailmassa, jossa ohjelmoijana työskentelet datan kanssa 90% ajasta - ellei enemmän.
On hyvä huomata, että MongoDB: ssä on enemmän kuin mitä käsittelemme tämän päivän oppaassa. Harkitse lisätietoja virallisista asiakirjoista ja ulkoisista resursseista.
MongoDB: n asentaminen Linuxiin (Debian 10)
Mennään nopeasti, miten MongoDB Community Edition asennetaan Debian 10: een.
MERKINTÄ: Varmista, että poistat Debianin ylläpitämän MongoDB-paketin, koska se ei ole virallinen MongoDB-paketti, ja sen poistamisen epäonnistuminen saattaa olla ristiriidassa uusimman version kanssa:
Varmista ensin, että järjestelmäsi on ajan tasalla, minkä voit tehdä komennolla:
sudo apt-get update && sudo apt-get päivitys -yAsenna seuraavaksi GnuPG ja tuo MongoDB-tietovaraston julkinen avain komennolla:
sudo apt-get install gnupg && wget -qO - https: // www.mongodb.org / staattinen / pgp / palvelin-4.4.asc | sudo apt-key lisää -Lisää tiedostoluettelo lähteisiin.lista.d-hakemisto komennolla:
echo "deb http: // repo.mongodb.org / apt / debian buster / mongodb-org / 4.4 tärkeintä "| sudo tee / etc / apt / sources.lista.d / mongodb-org-4.4.listaPäivitä paikalliset arkistot ja asenna mongodb-org-paketti.
sudo apt-get update && sudo apt-get install mongodb-orgKun olet asentanut MongoDB: n onnistuneesti, käynnistä palvelu järjestelmän avulla seuraavasti:
sudo systemctl Käynnistä mongodVoit myös käynnistää mongo-kuoren komennolla mongo
Kuinka käyttää Pythonia työskentelemään MongoDB: n kanssa
Keskustellaan nyt siitä, miten Pythonia käytetään työskentelemään MongoDB: n kanssa.
Oletan tässä vaiheessa, että Python on jo asennettu ja asennettu järjestelmääsi.
Koska tämä on pika-aloitusopas, ei kattava MongoDB-opas, keskustelemme vain PyMongon käytön perusteista vuorovaikutuksessa tietokannan kanssa.
PyMongo
Tarkastelemme standardimenetelmää, kun olemme tekemisissä MongoDB: n kanssa virallisen Python-ohjaimen, PyMongon, käyttämiseksi. PyMongo on erittäin tehokas tapa työskennellä Pythonin ja MongoDB: n kanssa ja on yksi parhaista tavoista aloittaa.
MERKINTÄ: Vaikka tässä aloitusoppaassa on paljon yksityiskohtia, sinun kannattaa harkita virallisen dokumentaation tarkastelemista saadaksesi lisätietoja.
Tässä on joitain resursseja harkittavaksi:
https: // pymongo.readthedocs.io / fi / vakaa / indeksi.html
https: // pypi.org / project / pymongo /
https: // docs.mongodb.fi / drivers / pymongo
Kuinka asentaa PyMongo
Kuten tavallista, meidän on ensin asennettava PyMongo-ohjain Python-ympäristöön; voit käyttää conda tai pip.
Asenna komento:
pip asenna pymongoOdota, kunnes vaaditut tapahtumat ovat suoritettu ja PyMongo on asennettu järjestelmääsi onnistuneesti. Vahvista käynnistämällä interaktiivinen python-kuori ja suorittamalla komento:
>>> tuo pymongoKun se toimii onnistuneesti ilman virheitä, olet asentanut PyMongon onnistuneesti, ja voimme siirtyä seuraavaan osioon.
Kuinka käyttää PyMongoa yhteyden muodostamiseen MongoDB: hen
Yhteyden muodostamiseksi MongoDB: hen PyMongon avulla käytämme MongoClient-objektia ja luomme ilmentymän mongodille, joka on MongoDB: n tärkein daemon-prosessi.
>>> Pymongo-tuonnista MongoClient>>> asiakas = MongoClient (“localhost”, 27017)
Yllä oleva koodinpätkä tuo MongoClient-objektin PyMongosta ja luo sitten asiakkaan ilmentymän mongodiin. Jos sinun ei tarvitse määrittää kohde-isäntää ja porttia, voit jättää sen tyhjäksi, jolloin muodostetaan oletusyhteys.
Voit käyttää MongoDB URI -muotoa myös:
>>> asiakas = MongoClient ("mongodb: // paikallinen isäntä: 27017 /")Molemmat näistä menetelmistä tekevät saman; se riippuu vain siitä, mitä haluat käyttää projektissasi.
Kuinka luoda tietokanta PyMongon avulla
PyMongin käyttäminen tietokannan luomiseen MongoDB: hen on suhteellisen yksinkertaista. Sinun tarvitsee vain tehdä kysely tietokannasta, ja jos sitä ei ole, MongoDB luo sen automaattisesti.
Harkitse alla olevaa koodia:
>>> Pymongo-tuonnista MongoClient>>> asiakas = MongoClient ("paikallinen isäntä", 27017)
>>> tietokanta = asiakas ["test_database"]
Voit käyttää tietokantamenetelmää sanamenetelmän sijasta myös attribuuttimenetelmällä.
>>> tietokanta = asiakas.test_databaseToisin kuin muut tietokannat, MongoDB: ssä tietokantaa ei luoda kokonaan ennen kuin kokoelmat (tiedot) on tallennettu - ajattele kokoelmia taulukoina SQL-tietokannoissa.
Kuinka lisätä asiakirjoja tietokantaan
Kuten tämän opetusohjelman alussa mainittiin, MongoDB tallentaa tiedot kokoelmana tallennettuina JSON-asiakirjoina - ajattele asiakirjoja SQL-tietokantojen riveinä.
PyMongossa käytämme python-sanakirjoja edustamaan asiakirjaa. Harkitse seuraavaa esimerkkikoodia:
pymongo-tuonnista MongoClientasiakas = MongoClient ("paikallinen isäntä", 27017)
tietokanta = asiakas ["movie_db"]
elokuvat = tietokanta.elokuvia
elokuva_ =
"title": "Herra. Robotti",
"Pääosissa": "Rami Malek, Christian Slater, Carly Chaikin",
"luotu": "Sam Esmail",
"Vuosi": "2016"
id = elokuvat.insert_one (elokuva_).insert_id
tulosta (id)
Tämän koodin tulisi tulostaa tunnus kuvan mukaisesti:
5ff57066fee7e4e965f02267
Kun luot uuden asiakirjan ja lisätään se kokoelmaan, luodaan erityinen avain tai _id. Tunnuksen arvon on oltava yksilöllinen joukossa.
Voimme varmistaa, että tietokanta, kokoelma ja asiakirja ovat olemassa yksinkertaisen kyselyn avulla.
>>> tietokanta.list_collection_names ()['elokuvat']
Ohjelmoijat eivät ole mikään, ellei tehokas ja laiska.
Tämän oletuskallistuksen takia voimme myös käyttää insert_many () -menetelmää lisätäksesi useita asiakirjoja yhden asiakirjan sijaan insert_one () -menetelmällä.
Harkitse alla olevaa koodia:
pymongo-tuonnista MongoClientasiakas = MongoClient ("paikallinen isäntä", 27017)
tietokanta = asiakas ["movie_db"]
elokuvat = tietokanta.elokuvia
elokuvat_ = [
"Title": "Herra. Robotti,"
"Pääosissa": "Rami Malek, Christian Slater, Carly Chaikin"
"luotu": "Sam Esmail",
"Vuosi": "2016.”
,
"Otsikko": "The Big Bang Theory"
"Pääosissa": "Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch"
"Luotu": "Chuck Lorre, Bill Prady"
"Vuosi": "2007.”
,
"title": "Star Trek: Alkuperäinen sarja",
"Pääosissa": "William Shatner, Leonard Nimoy, Nichelle Nicholas"
"Luotu": "Gene Roddenberry",
"Vuosi": "1966.”
]
ids = elokuvat.lisää_many (elokuvat_).insert_ids
tulosta (tunnukset)
Tämän pitäisi antaa sinulle lisätyn asiakirjan _ids alla olevan kuvan mukaisesti:
[ObjectId ('5ff5749fbbc71282a634303d'), ObjectId ('5ff5749fbbc71282a634303e'), ObjectId ('5ff5749fbbc71282a634303f')]
Kuinka noutaa asiakirjoja
Asiakirjojen saaminen kokoelmasta on myös hyvin yksinkertaista, ja käyttämällä find_one () -menetelmää voimme saavuttaa tämän yhdellä koodirivillä. Harkitse alla olevaa esimerkkiä kerätäksesi Gene Roddenberryn elokuvia.
tulosta (elokuvat.find_one ("Luotu": "Gene Roddenberry"))Tämän pitäisi noutaa kaikki Gene Roddenberryn luomat elokuvat kyseisestä tietokannasta.
'_id': ObjectId ('5ff57472e027b7cd22b1f2f4'), 'title': 'Star Trek: Original Series', 'Starring': 'William Shatner, Leonard Nimoy, Nichelle Nicholas', 'Luotu': 'Gene Roddenbery', Vuosi ':' 1966 'Voit tarkastella tietokannan ja kokoelmien GUI-näyttöä. Tässä on kuvakaappaus, joka on kaapattu MongoDB Compassista Windowsissa.
Johtopäätös
Tarvitset joustavan ja tehokkaan tietokannan projektiisi, jotta voit käyttää Python-ohjelmointikieliä tehokkaasti tietokantojen kanssa työskennellessäsi. MongoDB on oikea valinta. Älkää erehtykö tätä tarkoittamaan, että MongoDB on kaikkien aikojen paras tietokantavalinta. Siinä on puutteita, mutta se on myös ihanteellinen valinta useimpiin käyttötapauksiin.
Tämä opas on antanut sinulle kaiken mitä tarvitset kokeilemaan tietokantoja valitsemallasi kielellä.
Harkitse eron aikana lukemalla dokumentaatio ja käsikirjat saadaksesi syvällisemmän käsityksen tästä aiheesta.