Keď je Python spojený s veľkými aplikáciami, ako sú tie, ktoré vyžadujú databázy, pridáva ďalšie funkcie a je ťažké s nimi pracovať, najmä pre začiatočníkov.
Python vie, že tento doplnok nám poskytuje lepšie spôsoby pridávania databáz do našich projektov bez toho, aby to ohrozilo náš pracovný postup pomocou jednoduchej a intuitívnej databázy NoSQL. Pomocou Pythonu a populárnej databázy NoSQL, MongoDB, je vývoj pohodlnejší a celkovo zábavnejší.
Tento článok sa bude zaoberať rôznymi koncepciami databázy MongoDB, aby ste mali pevné pochopenie toho, čo to obnáša. Potom sa budeme venovať tomu, ako nainštalovať MongoDB na Linuxe a ukážeme vám, ako používať Python na interakciu s MongoDB.
Začnime:
Základný úvod do MongoDB
MongoDB je open-source, dokumentová databáza, ktorá poskytuje vysokú škálovateľnosť a flexibilitu. Rovnako ako väčšina databáz NoSQL, aj MongoDB používa na ukladanie údajov formát JSON, čo z neho robí jednu z najflexibilnejších a najľahších databáz, pretože nevyžaduje žiadnu schému.
Vďaka svojej flexibilite a ľahkému učeniu používajú vývojári často MongoDB pre veľké projekty vyžadujúce vysokú rýchlosť čítania a zápisu dát. Dodáva sa s ovládačmi populárnych programovacích jazykov, čo eliminuje potrebu učiť sa nové programovacie jazyky pred jeho použitím.
POZNÁMKA: Ak nepoznáte koncept databáz SQL a NoSQL, pozrite si zdroj uvedený nižšie:
https: // www.mongodb.com / nosql-vysvetlil / nosql-vs-sql
Naučiť sa pracovať s MongoDB je základná zručnosť, hlavne preto, že žijeme vo svete založenom na dátach, kde ako programátor budete s dátami pracovať 90% času, ak nie viac.
Je dobré si uvedomiť, že MongoDB obsahuje viac než to, čomu sa budeme venovať v dnešnom sprievodcovi. Ak sa chcete dozvedieť viac, zvážte kontrolu oficiálnej dokumentácie a externých zdrojov.
Ako nainštalovať MongoDB na Linux (Debian 10)
Poďme rýchlo na to, ako nainštalovať komunitnú verziu MongoDB na Debian 10.
POZNÁMKA: Nezabudnite odinštalovať balíček MongoDB udržiavaný Debianom, pretože to nie je oficiálny balík MongoDB, a jeho neodinštalovanie by mohlo byť v rozpore s najnovšou verziou:
Najskôr sa ubezpečte, že je váš systém aktuálny, čo môžete urobiť pomocou príkazu:
sudo apt-get update && sudo apt-get upgrade -yĎalej nainštalujte GnuPG a importujte verejný kľúč úložiska MongoDB pomocou príkazu:
sudo apt-get install gnupg && wget -qO - https: // www.mongodb.org / static / pgp / server-4.4.vzostup | sudo apt-key pridať -Pridajte zoznam súborov do zdrojov.zoznam.d adresár pomocou príkazu:
echo "deb http: // repo.mongodb.org / apt / debian buster / mongodb-org / 4.4 hlavné "| sudo tee / etc / apt / sources.zoznam.d / mongodb-org-4.4.zoznamAktualizujte svoje miestne úložiská a nainštalujte balíček mongodb-org.
sudo apt-get update && sudo apt-get nainštalovať mongodb-orgPo úspešnej inštalácii MongoDB spustite službu pomocou systému nasledovne:
sudo systemctl start mongodMôžete tiež spustiť shell mongo pomocou príkazu mongo
Ako používať Python na prácu s MongoDB
Poďme si teraz predstaviť, ako používať Python na prácu s MongoDB.
V tomto okamihu predpokladám, že už máte Python nastavený a nainštalovaný vo vašom systéme.
Pretože toto je rýchly úvodný sprievodca, nie komplexný sprievodca MongoDB, budeme diskutovať iba o základných aspektoch používania PyMongo na interakciu s databázou.
PyMongo
Pri interakcii s MongoDB na použitie oficiálneho ovládača Pythonu PyMongo sa pozrieme na štandardnú metódu. PyMongo je veľmi efektívny spôsob práce s programami Python a MongoDB a je jedným z najlepších spôsobov, ako začať.
POZNÁMKA: Aj keď táto úvodná príručka obsahuje veľa podrobností, mali by ste zvážiť ďalšie informácie, keď si pozriete oficiálnu dokumentáciu.
Tu je niekoľko zdrojov na zváženie:
https: // pymongo.readthedocs.io / en / stable / index.html
https: // pypi.org / project / pymongo /
https: // dokumenty.mongodb.com / driver / pymongo
Ako nainštalovať PyMongo
Ako obvykle, prvou vecou, ktorú musíme urobiť, je nainštalovať ovládač PyMongo do nášho prostredia Pythonu; môžete použiť conda alebo pip.
Ak chcete nainštalovať, použite príkaz:
pip nainštaluj pymongoPočkajte, kým sa požadované transakcie nedokončia, a kým budete mať program PyMongo úspešne nainštalovaný vo vašom systéme. Ak chcete potvrdiť, spustite interaktívny shell pythonu a spustite príkaz:
>>> importovať pymongoPo úspešnom spustení bez chýb ste úspešne nainštalovali program PyMongo a môžeme prejsť na ďalšiu časť.
Ako používať PyMongo na pripojenie k MongoDB
Na pripojenie k MongoDB pomocou PyMongo použijeme objekt MongoClient a vytvoríme inštanciu mongod, hlavného procesu démona pre MongoDB.
>>> z importu pymongo MongoClient>>> client = MongoClient („localhost“, 27017)
Vyššie uvedený úryvok kódu importuje objekt MongoClient z programu PyMongo a potom vytvorí inštanciu klienta pre mongod. Ak nepotrebujete určiť cieľového hostiteľa a port, môžete ho nechať prázdny, čím sa vytvorí predvolené pripojenie.
Môžete tiež použiť formát MongoDB URI ako:
>>> client = MongoClient ("mongodb: // localhost: 27017 /")Obe tieto metódy urobia to isté; záleží len na tom, ktoré vo svojom projekte uprednostňujete.
Ako vytvoriť databázu pomocou programu PyMongo
Používanie PyMongu na vytvorenie databázy v MongoDB je pomerne jednoduché. Všetko, čo musíte urobiť, je vyhľadať databázu a pokiaľ neexistuje, MongoDB ju vytvorí automaticky.
Zvážte kód uvedený nižšie:
>>> z importu pymongo MongoClient>>> client = MongoClient ("localhost", 27017)
>>> databáza = klient ["test_database"]
Na prístup do databázy môžete tiež použiť metódu atribútov namiesto metódy slovníka.
>>> databáza = klient.test_databaseNa rozdiel od iných databáz v databáze MongoDB nie je databáza úplne vytvorená, kým nebudú uložené kolekcie (údaje) - kolekcie považujte za tabuľky v databázach SQL.
Ako vkladať dokumenty do databázy
Ako už bolo spomenuté na začiatku tohto tutoriálu, MongoDB ukladá údaje ako dokumenty JSON uložené v kolekcii - myslia na dokumenty ako riadky v databázach SQL.
V programe PyMongo používame na reprezentáciu dokumentu slovníky python. Zvážte nasledujúci ukážkový kód:
z importu pymongo MongoClientclient = MongoClient ("localhost", 27017)
databáza = klient ["film_db"]
filmy = databáza.filmy
film_ =
"title": "pán. Robot “,
„Hrajú“: „Rami Malek, Christian Slater, Carly Chaikin“,
"created": "Sam Esmail",
„Year“: „2016“
id = filmy.insert_one (film_).vložené_id
print (id)
Tento kód by mal vytlačiť ID, ako je znázornené:
5ff57066fee7e4e965f02267
Keď vytvoríme nový dokument a pridáme ho do kolekcie, vytvorí sa špeciálny kľúč alebo _id. Hodnota id musí byť v nastavenej kolekcii jedinečná.
Môžeme overiť, že databáza, kolekcia a dokument existujú pomocou jednoduchého dotazu.
>>> databáza.list_collection_names ()['filmy']
Programátori nie sú nič, ak nie efektívni - a leniví.
Kvôli tomuto predvolenému sklonu môžeme tiež použiť metódu insert_many () na pridanie viacerých dokumentov namiesto jedného dokumentu pomocou metódy insert_one ().
Zvážte kód uvedený nižšie:
z importu pymongo MongoClientclient = MongoClient ("localhost", 27017)
databáza = klient ["film_db"]
filmy = databáza.filmy
filmy_ = [
„Title“: „Pán. Robot, “
Hrajú: Rami Malek, Christian Slater, Carly Chaikin
"created": "Sam Esmail",
„Year“: „2016.“
,
„Title“: „Teória veľkého tresku“
„Hrajú“: „Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch,“
„Vytvorené“: „Chuck Lorre, Bill Prady,“
„Year“: „2007.“
,
"title": "Star Trek: Originálna séria",
„Hrajú“: „William Shatner, Leonard Nimoy, Nichelle Nicholas,“
„Vytvorené“: „Gene Roddenberry“,
„Rok“: „1966.“
]
ids = filmy.insert_many (films_).vložené_idá
tlač (ID)
Mali by ste získať _id vloženého dokumentu, ako je uvedené nižšie:
[ObjectId ('5ff5749fbbc71282a634303d'), ObjectId ('5ff5749fbbc71282a634303e'), ObjectId ('5ff5749fbbc71282a634303f')]]
Ako načítať dokumenty
Získanie dokumentov zo zbierky je tiež veľmi jednoduché a pomocou metódy find_one () to môžeme dosiahnuť v jednom riadku kódu. Zvážte príklad uvedený nižšie a zozbierajte filmy Gene Roddenberry.
tlač (filmy.find_one ("Vytvorené": "Gene Roddenberry"))To by malo načítať všetky filmy vytvorené Gene Roddenberry v tejto databáze.
'_id': ObjectId ('5ff57472e027b7cd22b1f2f4'), 'title': 'Star Trek: Original Series', 'Starring': 'William Shatner, Leonard Nimoy, Nichelle Nicholas,', 'Created': 'Gene Roddenbery', ' Rok ':' 1966 'Môžete sa pozrieť na GUI zobrazenie databázy a zbierok. Tu je snímka obrazovky vytvorená z MongoDB Compass vo Windows.
Záver
Aby ste pri práci s databázami mohli efektívne používať programovací jazyk Python, budete pre svoj projekt potrebovať flexibilnú a efektívnu databázu. MongoDB je správna voľba. Nezamieňajte to však s tým, že MongoDB je najlepšia voľba databázy vôbec. Má nedostatky, ale je tiež ideálnou voľbou pre väčšinu prípadov použitia.
Táto príručka vám poskytne všetko, čo potrebujete, aby ste mohli začať experimentovať s databázami vo vašom jazyku, ktorý si vyberiete.
Pri rozchode zvážte prečítanie dokumentácie a manuálov, aby ste lepšie pochopili túto konkrétnu tému.