Python

Ako vytvoriť databázu v MongoDB pomocou Pythonu

Ako vytvoriť databázu v MongoDB pomocou Pythonu
Niet pochýb o tom, že Python je výkonný a populárny programovací jazyk schopný zvládnuť akýkoľvek projekt, ktorý mu postavíme do cesty. Je veľmi flexibilný a dokáže sa prispôsobiť tak, aby vyhovoval rôznym vývojovým prostrediam, ako sú penetračné testy, vývoj webových aplikácií a strojové učenie.

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.zoznam

Aktualizujte svoje miestne úložiská a nainštalujte balíček mongodb-org.

sudo apt-get update && sudo apt-get nainštalovať mongodb-org

Po úspešnej inštalácii MongoDB spustite službu pomocou systému nasledovne:

sudo systemctl start mongod

Môž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 pymongo

Poč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ť pymongo

Po ú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_database

Na 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 MongoClient
client = 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 MongoClient
client = 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.

Hry Ako zobraziť počítadlo FPS v hrách Linux
Ako zobraziť počítadlo FPS v hrách Linux
Hranie na systéme Linux získalo veľký tlak, keď spoločnosť Valve v roku 2012 oznámila podporu systému Linux pre klienta Steam a ich hry. Od tej doby s...
Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...
Hry Ako inštalovať a hrať Doom na Linuxe
Ako inštalovať a hrať Doom na Linuxe
Úvod do Doom Séria Doom vznikla v 90. rokoch po vydaní pôvodného Doomu. Bol to okamžitý hit a od tej doby herná séria získala množstvo ocenení a origi...