W połączeniu z dużymi aplikacjami, takimi jak te, które wymagają baz danych, Python dodaje więcej funkcji i może być trudny w obsłudze, szczególnie dla początkujących.
Python wie, że ten dodatek zapewnia nam lepsze sposoby dodawania baz danych do naszych projektów bez narażania naszego przepływu pracy przy użyciu prostej i intuicyjnej bazy danych NoSQL. Korzystając z Pythona i popularnej bazy danych NoSQL, MongoDB, programowanie staje się wygodniejsze i, w sumie, zabawniejsze.
W tym artykule omówimy różne koncepcje bazy danych MongoDB, aby zapewnić dokładne zrozumienie tego, co to za sobą pociąga. Następnie omówimy, jak zainstalować MongoDB w systemie Linux i pokażemy, jak używać Pythona do interakcji z MongoDB.
Zacznijmy:
Podstawowe wprowadzenie do MongoDB
MongoDB to oparta na dokumentach baza danych typu open source, która zapewnia wysoką skalowalność i elastyczność. Podobnie jak większość baz danych NoSQL, MongoDB używa JSON do przechowywania danych, co czyni ją jedną z najbardziej elastycznych i łatwych w obsłudze baz danych, ponieważ nie wymaga schematu.
Dzięki elastyczności i łatwości uczenia się, programiści często używają MongoDB do dużych projektów wymagających dużych prędkości odczytu i zapisu danych. Jest dostarczany ze sterownikami do popularnych języków programowania, co eliminuje potrzebę uczenia się nowych języków programowania przed użyciem.
UWAGA: Jeśli nie znasz pojęcia baz danych SQL i NoSQL, zapoznaj się z poniższym zasobem:
https://www.mongodb.com/nosql-wyjaśnione/nosql-vs-sql
Nauka pracy z MongoDB to niezbędna umiejętność, głównie dlatego, że żyjemy w świecie opartym na danych, w którym jako programista będziesz pracować z danymi przez 90% czasu - jeśli nie więcej.
Warto zauważyć, że MongoDB to coś więcej niż to, co omówimy w dzisiejszym przewodniku. Rozważ sprawdzenie oficjalnej dokumentacji i zasobów zewnętrznych, aby dowiedzieć się więcej.
Jak zainstalować MongoDB w systemie Linux (Debian 10)
Przyjrzyjmy się szybko, jak zainstalować MongoDB Community Edition na Debianie 10.
UWAGA: Upewnij się, że odinstalowałeś pakiet MongoDB obsługiwany przez Debiana, ponieważ nie jest to oficjalny pakiet MongoDB, a jego niepowodzenie może powodować konflikt z najnowszą wersją:
Najpierw upewnij się, że Twój system jest aktualny, co możesz zrobić za pomocą polecenia:
aktualizacja sudo apt-get && aktualizacja sudo apt-get -yNastępnie zainstaluj GnuPG i zaimportuj klucz publiczny repozytorium MongoDB za pomocą polecenia:
sudo apt-get zainstaluj gnupg && wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -Dodaj listę plików w źródłach.lista.d katalog za pomocą polecenia:
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 główne" | koszulka sudo /etc/apt/sources.lista.d/mongodb-org-4.4.listaZaktualizuj lokalne repozytoria i zainstaluj pakiet mongodb-org.
sudo apt-get aktualizacja && sudo apt-get zainstaluj mongodb-orgPo pomyślnym zainstalowaniu MongoDB uruchom usługę za pomocą systemu w następujący sposób:
sudo systemctl start mongodMożesz także uruchomić powłokę mongo za pomocą polecenia mongo
Jak używać Pythona do pracy z MongoDB
Omówmy teraz, jak używać Pythona do pracy z MongoDB.
W tym momencie założę, że masz już skonfigurowany i zainstalowany Python w swoim systemie.
Ponieważ jest to przewodnik szybkiego startu, a nie wyczerpujący przewodnik po MongoDB, omówimy tylko podstawy korzystania z PyMongo do interakcji z bazą danych.
PyMongo
Przyjrzymy się standardowej metodzie podczas interakcji z MongoDB, aby użyć oficjalnego sterownika Pythona, PyMongo. PyMongo to bardzo wydajny sposób pracy z Pythonem i MongoDB i jest jednym z najlepszych sposobów na rozpoczęcie pracy.
UWAGA: Chociaż ten przewodnik dla początkujących zawiera mnóstwo szczegółów, powinieneś rozważyć zapoznanie się z oficjalną dokumentacją, aby dowiedzieć się więcej.
Oto kilka zasobów do rozważenia:
https://pymongo.przeczytaj dokumentację.io/pl/stabilna/indeks.html
https://pypi.org/projekt/pymongo/
https://dokumenty.mongodb.pl/sterowniki/pymongo
Jak zainstalować PyMongo
Jak zwykle pierwszą rzeczą, którą musimy zrobić, to zainstalować PyMongo Driver w naszym środowisku Python; możesz użyć condy lub pip.
Aby zainstalować, użyj polecenia:
pip zainstaluj pymongoPoczekaj, aż wymagane transakcje zostaną zakończone i pomyślnie zainstalujesz PyMongo w swoim systemie. Aby potwierdzić, uruchom interaktywną powłokę Pythona i wykonaj polecenie:
>>> importuj pymongoPo pomyślnym uruchomieniu bez błędów, pomyślnie zainstalowałeś PyMongo i możemy przejść do następnej sekcji.
Jak używać PyMongo do łączenia się z MongoDB?
Aby połączyć się z MongoDB za pomocą PyMongo, używamy obiektu MongoClient i tworzymy instancję do mongod, głównego procesu demona dla MongoDB.
>>> z importu pymongo MongoClient>>> klient = MongoClient(„host lokalny”, 27017)
Powyższy fragment kodu importuje obiekt MongoClient z PyMongo, a następnie tworzy instancję klienta do mongod. Jeśli nie musisz określać docelowego hosta i portu, możesz pozostawić go pustym, ustanawiając w ten sposób domyślne połączenie.
Możesz również użyć formatu URI MongoDB jako:
>>> klient = MongoClient("mongodb://localhost:27017/")Obie te metody zrobią to samo; zależy to tylko od tego, którego wolisz użyć w swoim projekcie.
Jak stworzyć bazę danych za pomocą PyMongo
Używanie PyMong do tworzenia bazy danych w MongoDB jest stosunkowo proste. Wystarczy, że wykonasz zapytanie do bazy danych, a jeśli nie istnieje, MongoDB utworzy ją automatycznie.
Rozważ poniższy kod:
>>> z importu pymongo MongoClient>>> klient = MongoClient("localhost", 27017)
>>> baza danych = klient["baza_testowa"]
Możesz również użyć metody atrybutów zamiast metody słownikowej, aby uzyskać dostęp do bazy danych.
>>> baza danych = klient.test_baza danychW przeciwieństwie do innych baz danych, w MongoDB baza danych nie jest w pełni utworzona, dopóki kolekcje (dane) nie zostaną zapisane - pomyśl o kolekcjach jako tabelach w bazach danych SQL.
Jak wstawić dokumenty do bazy danych
Jak wspomniano na początku tego samouczka, MongoDB przechowuje dane jako dokumenty JSON przechowywane w zbiorze dokumentów jako wiersze w bazach danych SQL.
W PyMongo do reprezentowania dokumentu używamy słowników Pythona. Rozważmy następujący przykładowy kod:
z importu pymongo MongoClientklient = MongoClient("localhost", 27017)
baza danych = klient["baza_filmu"]
filmy = baza danych.kino
film_ =
"tytuł": "Pan. Robot",
"W rolach głównych": "Rami Malek, Christian Slater, Carly Chaikin",
"created": "Sam Esmail",
„Rok”: „2016”
id = filmy.wstaw_jeden(film_).wstawiony_id
drukuj(id)
Ten kod powinien wydrukować identyfikator, jak pokazano:
5ff57066fee7e4e965f02267
Kiedy tworzymy nowy dokument i dodajemy go do kolekcji, tworzony jest specjalny klucz lub _id. Wartość identyfikatora musi być unikalna w zbiorze zbioru.
Za pomocą prostego zapytania możemy zweryfikować istnienie bazy danych, kolekcji i dokumentu.
>>> baza danych.list_collection_names()['kino']
Programiści to tylko sprawni i leniwi.
Ze względu na tę domyślną skłonność, możemy również użyć metody insert_many(), aby dodać wiele dokumentów zamiast jednego za pomocą metody insert_one().
Rozważ poniższy kod:
z importu pymongo MongoClientklient = MongoClient("localhost", 27017)
baza danych = klient["baza_filmu"]
filmy = baza danych.kino
filmy_ = [
„tytuł”: „Pan. Robot,"
„W rolach głównych”: „Rami Malek, Christian Slater, Carly Chaikin”
"created": "Sam Esmail",
„Rok”: „2016.”
,
„tytuł”: „Teoria Wielkiego Wybuchu”,
„W rolach głównych”: „Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch”
„Utworzono”: „Chuck Lorre, Bill Prady”,
„Rok”: „2007.”
,
"title": "Star Trek: seria oryginalna",
„W rolach głównych”: „William Shatner, Leonard Nimoy, Nichelle Nicholas”
„Utworzono”: „Gene Roddenberry”,
„Rok”: „1966.”
]
identyfikatory = filmy.wstaw_wiele(filmy_).wstawione_ids
drukuj (identyfikatory)
Powinno to dać _ids wstawionego dokumentu, jak pokazano poniżej:
[Id obiektu('5ff5749fbbc71282a634303d'),Id obiektu('5ff5749fbbc71282a634303e'),Id obiektu('5ff5749fbbc71282a634303f')]
Jak pobrać dokumenty
Pobieranie dokumentów z kolekcji jest również bardzo proste, a za pomocą metody find_one() możemy to zrobić w jednym wierszu kodu. Rozważ poniższy przykład, aby zebrać filmy Gene'a Roddenberry.
drukuj(filmy.find_one("Utworzono": "Gene Roddenberry"))Powinno to pobrać wszystkie filmy stworzone przez Gene'a Roddenberry'ego w tej bazie danych.
'_id': ObjectId('5ff57472e027b7cd22b1f2f4'), 'tytuł': 'Star Trek: Seria oryginalna', 'W roli głównej': 'William Shatner, Leonard Nimoy, Nichelle Nicholas,', 'Utworzono': 'Gene Roddenbery', ' Rok ': '1966'Możesz spojrzeć na wyświetlacz GUI bazy danych i kolekcji. Oto zrzut ekranu przechwycony z MongoDB Compass w systemie Windows.
Wniosek
Aby efektywnie korzystać z języka programowania Python podczas pracy z bazami danych, potrzebujesz elastycznej i wydajnej bazy danych dla swojego projektu. MongoDB to właściwy wybór. Nie pomyl tego, co oznacza, że MongoDB to najlepszy wybór bazy danych w historii. Ma wady, ale jest również idealnym wyborem w większości przypadków użycia.
Ten przewodnik zawiera wszystko, czego potrzebujesz, aby rozpocząć eksperymentowanie z bazami danych w wybranym przez Ciebie języku.
Rozstając się, rozważ przeczytanie dokumentacji i instrukcji, aby lepiej zrozumieć ten konkretny temat.