Pyton

Jak utworzyć bazę danych w MongoDB za pomocą Pythona?

Jak utworzyć bazę danych w MongoDB za pomocą Pythona?
Nie ma wątpliwości, że Python jest potężnym i popularnym językiem programowania, zdolnym obsłużyć każdy projekt, który mu rzucimy. Jest bardzo elastyczny i może dostosować się do różnych środowisk programistycznych, takich jak testy penetracyjne, tworzenie stron internetowych i uczenie maszynowe.

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 -y

Nastę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.lista

Zaktualizuj lokalne repozytoria i zainstaluj pakiet mongodb-org.

sudo apt-get aktualizacja && sudo apt-get zainstaluj mongodb-org

Po pomyślnym zainstalowaniu MongoDB uruchom usługę za pomocą systemu w następujący sposób:

sudo systemctl start mongod

Moż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 pymongo

Poczekaj, 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 pymongo

Po 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 danych

W 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 MongoClient
klient = 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 MongoClient
klient = 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.

Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...