Když je spojený s velkými aplikacemi, jako jsou ty, které vyžadují databáze, Python přidává další funkce a je těžké s nimi pracovat, zejména pro začátečníky.
Python ví, že tento doplněk nám poskytuje lepší způsoby přidávání databází do našich projektů, aniž by to ohrozilo náš pracovní postup pomocí jednoduché a intuitivní databáze NoSQL. Díky Pythonu a populární databázi NoSQL, MongoDB, je vývoj pohodlnější a celkově zábavnější.
Tento článek pojednává o různých koncepcích databáze MongoDB, aby vám poskytl pevné pochopení toho, co to obnáší. Poté se budeme zabývat tím, jak nainstalovat MongoDB na Linuxu a ukážeme vám, jak používat Python k interakci s MongoDB.
Začněme:
Základní úvod do MongoDB
MongoDB je open-source databáze založená na dokumentech, která poskytuje vysokou škálovatelnost a flexibilitu. Stejně jako většina databází NoSQL používá MongoDB k ukládání dat JSON, což z něj dělá jednu z nejflexibilnějších a nejjednodušších databází, se kterými lze pracovat, protože nevyžaduje žádné schéma.
Díky své flexibilitě a snadnému učení vývojáři často používají MongoDB pro velké projekty vyžadující vysokou rychlost čtení a zápisu dat. Dodává se předem zabalený s ovladači pro populární programovací jazyky, což eliminuje potřebu naučit se nové programovací jazyky před jeho použitím.
POZNÁMKA: Pokud nejste obeznámeni s konceptem databází SQL a NoSQL, podívejte se na níže uvedený zdroj:
https: // www.mongodb.com / nosql-vysvětleno / nosql-vs-sql
Naučit se pracovat s MongoDB je základní dovednost, hlavně proto, že žijeme ve světě založeném na datech, kde jako programátor budete s daty pracovat 90% času, ne-li více.
Je dobré si povšimnout, že MongoDB obsahuje více než to, o čem pojednáme v dnešním průvodci. Zvažte kontrolu oficiální dokumentace a externích zdrojů, abyste se dozvěděli více.
Jak nainstalovat MongoDB na Linux (Debian 10)
Pojďme si rychle přečíst, jak nainstalovat komunitní vydání MongoDB na Debian 10.
POZNÁMKA: Ujistěte se, že odinstalujete balíček MongoDB udržovaný Debianem, protože to není oficiální balíček MongoDB, a jeho odinstalování by mohlo být v rozporu s nejnovější verzí:
Nejprve se ujistěte, že je váš systém aktuální, což můžete udělat pomocí příkazu:
sudo apt-get update && sudo apt-get upgrade -yDále nainstalujte GnuPG a importujte veřejný klíč úložiště MongoDB pomocí příkazu:
sudo apt-get install gnupg && wget -qO - https: // www.mongodb.org / static / pgp / server-4.4.vzestup | sudo apt-key přidat -Přidejte seznam souborů do zdrojů.seznam.d adresář pomocí příkazu:
echo "deb http: // repo.mongodb.org / apt / debian buster / mongodb-org / 4.4 hlavní "| sudo tee / etc / apt / sources.seznam.d / mongodb-org-4.4.seznamAktualizujte místní úložiště a nainstalujte balíček mongodb-org.
sudo apt-get update && sudo apt-get nainstalovat mongodb-orgPo úspěšné instalaci MongoDB spusťte službu pomocí systému následujícím způsobem:
sudo systemctl start mongodMůžete také spustit mongo shell pomocí příkazu mongo
Jak používat Python pro práci s MongoDB
Pojďme nyní diskutovat o tom, jak používat Python pro práci s MongoDB.
V tomto okamžiku předpokládám, že již máte Python nastavený a nainstalovaný ve vašem systému.
Jelikož se jedná o průvodce rychlým startem, nikoli o komplexního průvodce MongoDB, probereme pouze základy používání PyMonga k interakci s databází.
PyMongo
Podíváme se na standardní metodu při interakci s MongoDB pro použití oficiálního ovladače Pythonu, PyMongo. PyMongo je velmi efektivní způsob práce s Pythonem a MongoDB a je jedním z nejlepších způsobů, jak začít.
POZNÁMKA: Ačkoli tato příručka pro začátečníky obsahuje spoustu podrobností, měli byste zvážit nahlédnutí do oficiální dokumentace a dozvědět se více.
Zde je několik zdrojů pro vaši úvahu:
https: // pymongo.readthedocs.io / en / stabilní / index.html
https: // pypi.org / projekt / pymongo /
https: // dokumenty.mongodb.com / ovladače / pymongo
Jak nainstalovat PyMongo
Jako obvykle je první věcí, kterou musíme udělat, nainstalovat ovladač PyMongo do našeho prostředí Pythonu; můžete použít conda nebo pip.
Chcete-li nainstalovat, použijte příkaz:
pip nainstalujte pymongoPočkejte, až se dokončí požadované transakce, a ve vašem systému bude úspěšně nainstalována aplikace PyMongo. Chcete-li potvrdit, spusťte interaktivní prostředí pythonu a spusťte příkaz:
>>> importovat pymongoJakmile bude úspěšně spuštěn bez chyb, úspěšně jste nainstalovali PyMongo a můžeme přejít do další části.
Jak používat PyMongo pro připojení k MongoDB
Pro připojení k MongoDB pomocí PyMongo použijeme objekt MongoClient a vytvoříme instanci mongod, hlavního procesu démona pro MongoDB.
>>> z pymongo import MongoClient>>> client = MongoClient („localhost“, 27017)
Výše uvedený fragment kódu importuje objekt MongoClient z PyMongo a poté vytvoří instanci klienta pro mongod. Pokud nepotřebujete specifikovat cílového hostitele a port, můžete jej nechat prázdný, a navázat tak výchozí připojení.
Formát URI MongoDB můžete také použít jako:
>>> client = MongoClient ("mongodb: // localhost: 27017 /")Obě tyto metody budou dělat totéž; záleží jen na tom, které ve svém projektu raději použijete.
Jak vytvořit databázi pomocí PyMongo
Použití PyMongu k vytvoření databáze v MongoDB je relativně jednoduché. Jediné, co musíte udělat, je dotazovat se na databázi, a pokud neexistuje, MongoDB ji automaticky vytvoří.
Zvažte níže uvedený kód:
>>> z pymongo import MongoClient>>> client = MongoClient ("localhost", 27017)
>>> databáze = klient ["test_database"]
Pro přístup do databáze můžete také použít metodu atributu namísto metody slovníku.
>>> databáze = klient.test_databaseNa rozdíl od jiných databází není v MongoDB databáze plně vytvořena, dokud nebudou uloženy kolekce (data) - představte si kolekce jako tabulky v databázích SQL.
Jak vložit dokumenty do databáze
Jak již bylo zmíněno na začátku tohoto kurzu, MongoDB ukládá data jako dokumenty JSON uložené v kolekci - myslí si na dokumenty jako řádky v databázích SQL.
V PyMongu používáme slovníky pythonu k reprezentaci dokumentu. Zvažte následující ukázkový kód:
z pymongo import MongoClientclient = MongoClient ("localhost", 27017)
databáze = klient ["film_db"]
filmy = databáze.filmy
film_ =
"title": "Pane. Robot",
„Hrají“: „Rami Malek, Christian Slater, Carly Chaikin“,
"created": "Sam Esmail",
"Year": "2016"
id = filmy.insert_one (film_).vložené_id
tisk (id)
Tento kód by měl vytisknout ID, jak je znázorněno:
5ff57066fee7e4e965f02267
Když vytvoříme nový dokument a přidáme ho do kolekce, vytvoří se speciální klíč nebo _id. Hodnota id musí být v nastavené sadě jedinečná.
Můžeme ověřit, že databáze, kolekce a dokument existují pomocí jednoduchého dotazu.
>>> databáze.list_collection_names ()['filmy']
Programátoři nejsou nic, pokud nejsou efektivní - a líní.
Z důvodu tohoto výchozího sklonu můžeme také použít metodu insert_many () k přidání více dokumentů namísto jednoho dokumentu metodou insert_one ().
Zvažte níže uvedený kód:
z pymongo import MongoClientclient = MongoClient ("localhost", 27017)
databáze = klient ["film_db"]
filmy = databáze.filmy
movies_ = [
„Title“: „Pane. Robot,"
„Hrají“: „Rami Malek, Christian Slater, Carly Chaikin,“
"created": "Sam Esmail",
„Year“: „2016.“
,
„Title“: „Teorie velkého třesku,“
„Hrají“: „Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch,“
„Vytvořeno“: „Chuck Lorre, Bill Prady,“
„Year“: „2007.“
,
"title": "Star Trek: Originální seriál",
„Hrají“: „William Shatner, Leonard Nimoy, Nichelle Nicholas,“
"Vytvořeno": "Gene Roddenberry",
„Year“: „1966.“
]
ids = filmy.insert_many (movies_).vložené_id
tisk (ID)
To by vám mělo dát _ids vloženého dokumentu, jak je uvedeno níže:
[ObjectId ('5ff5749fbbc71282a634303d'), ObjectId ('5ff5749fbbc71282a634303e'), ObjectId ('5ff5749fbbc71282a634303f')]]
Jak načítat dokumenty
Získání dokumentů ze sbírky je také velmi jednoduché a pomocí metody find_one () toho můžeme dosáhnout v jednom řádku kódu. Zvažte níže uvedený příklad a sbírejte filmy Gene Roddenberry.
tisk (filmy.find_one ("Vytvořeno": "Gene Roddenberry"))To by mělo načíst všechny filmy vytvořené Gene Roddenberry v této databázi.
'_id': ObjectId ('5ff57472e027b7cd22b1f2f4'), 'title': 'Star Trek: Original Series', 'Starring': 'William Shatner, Leonard Nimoy, Nichelle Nicholas,', 'Created': 'Gene Roddenbery', ' Rok ':' 1966 'Můžete se podívat na GUI zobrazení databáze a sbírek. Zde je snímek obrazovky pořízený z MongoDB Compass ve Windows.
Závěr
Abyste mohli efektivně používat programovací jazyk Python při práci s databázemi, budete potřebovat flexibilní a efektivní databázi pro svůj projekt. MongoDB je správná volba. Nezaměňujte to však s tím, že MongoDB je nejlepší volbou databáze vůbec. Má nedostatky, ale je také ideální volbou pro většinu případů použití.
Tato příručka vám poskytne vše, co potřebujete k tomu, abyste mohli začít experimentovat s databázemi pomocí jazyka, který jste si vybrali.
Při rozchodu zvažte čtení dokumentace a příruček, abyste získali hlubší pochopení tohoto konkrétního tématu.