Jak połączyć bazę danych MongoDB w Python
- 1647
- 100
- Klaudia Woś
MongoDB to popularna baza danych NoSQL, która jest szeroko stosowana do przechowywania i manipulowania dużymi ilościami danych. Jest znany z elastyczności, skalowalności i wydajności, co czyni go doskonałym wyborem dla różnych aplikacji.
W tym artykule przyjrzymy się, jak połączyć się z bazą danych MongoDB w Python za pomocą „Pymongo”
Biblioteka, która jest kierowcą MongoDB dla Pythona. Omówimy również niektóre podstawowe operacje, takie jak wkładanie danych, zapytanie o bazę danych i aktualizowanie dokumentów.
Wymagania wstępne
Zanim zaczniemy, musisz zainstalować następujące czynności:
- Python 3: Możesz pobrać i zainstalować Python z oficjalnej strony internetowej (https: // www.pyton.org/). Pamiętaj, aby zainstalować najnowszą wersję Python.
- MongoDB: Możesz pobrać i zainstalować MongoDB z oficjalnej strony internetowej (https: // www.MongoDB.com/). Będziesz także musiał skonfigurować serwer MongoDB i utworzyć bazę danych.
- Biblioteka Pymongo: Możesz zainstalować tę bibliotekę za pomocą
'pypeć'
, Menedżer pakietów Python. Otwórz terminal i uruchom następujące polecenie:instaluj Pymongo
Łączenie z bazą danych
Aby połączyć się z bazą danych MongoDB, będziemy musieli zaimportować „Pymongo”
biblioteka i utwórz obiekt klienta. Obiekt klienta pozwoli nam połączyć się z serwerem MongoDB i wykonywać operacje w bazie danych.
Oto przykład, jak utworzyć obiekt klienta:
Importuj Pymongo # Połącz z klientem bazy danych = Pymongo.Mongoclient („MongoDB: // Localhost: 27017/”)1234 | Importuj Pymongo # Połącz się z DATABASECLIENT = PYMONGO.Mongoclient („MongoDB: // Localhost: 27017/”) |
To utworzy obiekt klienta podłączony do serwera MongoDB działającego na komputerze lokalnym w porcie domyślnym (27017). „Mongoclient ()”
Funkcja bierze ciąg połączenia jako argument, który określa nazwę hosta i port serwera MongoDB.
Po utworzeniu obiektu klienta możesz go użyć do dostępu do baz danych i kolekcji na serwerze MongoDB.
Wstawienie danych
Aby wstawić dane do kolekcji w MongoDB, możesz użyć „insert_one ()”
Lub „insert_many ()”
Metoda obiektu kolekcji.
Oto przykład wstawienia jednego dokumentu do kolekcji:
# Połącz się z bazą danych „test” db = klient [„test”] # Pobierz „Użytkownicy” Kolekcja Users = DB [„Użytkownicy”] # Wstaw jeden dokument wynik = Użytkownicy.insert_one („Nazwa”: „John Smith”, „e -mail”: „John@przykład.com ') druk (wynik.Inserted_id)12345678910111213 | # Połącz się z „testem” DATABADEB = Client [„TEST”] # Pobierz „Użytkownicy” CollectionUsers = DB [„Użytkownicy”] # Wstaw pojedynczy dokumentResult = Users.insert_one („name”: „John Smith”, „e -mail”: '[e -mail chroniony]') print (wynik.Inserted_id) |
To wstawię pojedynczy dokument do „Użytkownicy”
Kolekcja z nazwą 'John Smith'
i e -mail „[e -mail chroniony]”
. Właściwość Inserted_ID obiektu wyniku zawiera unikalny identyfikator wstawionego dokumentu.
Możesz także wstawić wiele dokumentów jednocześnie za pomocą „insert_many ()”
metoda. Ta metoda przedstawia listę dokumentów jako argument.
Oto przykład, jak wstawić wiele dokumentów:
# Wstaw wiele dokumentów wynik = użytkownicy.insert_many (['name': 'jane doe', 'e -mail': 'jane@przykład.com ', ' Nazwa ': „Bob Smith”, „e -mail”:' bob@przykład.com ']) drukuj (wynik.Inserted_ids)12345678910111213 | # Wstaw wiele dokumentów ,ressult = Użytkownicy.insert_many (['name': 'jane doe', 'e -mail': '[e -mail chroniony]', 'name': 'Bob Smith', 'e -mail': '[e -mail chroniony]']) print ( wynik.Inserted_ids) |
To wstawię dwa dokumenty do „Użytkownicy”
Kolekcja z nazwami „Jane Doe”
I „Bob Smith”
i odpowiednie adresy e -mail. „Inserted_ids”
właściwość obiektu wyniku zawiera listę unikalnych identyfikatorów włożonych dokumentów.
Zapytanie o bazę danych
Aby pobrać dane z kolekcji w MongoDB, możesz użyć 'znajdować()'
Metoda obiektu kolekcji. Ta metoda zwraca obiekt kursora, który może zostać iterowany w celu odzyskania dokumentów pasujących do zapytania.
Oto przykład, jak pobrać wszystkie dokumenty z kolekcji:
# Znajdź wszystkie dokumenty Cursor = Użytkownicy.Znajdź () # iteruj przez kursor i wydrukuj dokumenty dla DOC w kursor: print (DOC)123456 | # Znajdź wszystkie dokumenty Cursor = Użytkownicy.Znajdź () # iteruj przez kursor i wydrukuj dokumenty do DOC w kursor: print (DOC) |
To odzyska wszystkie dokumenty z „Użytkownicy”
Zbieraj i wydrukuj je na konsoli.
Możesz także określić filtr, aby pobrać tylko dokumenty pasujące do określonych kryteriów. Filtr jest określony jako słownik zawierający nazwy i wartości pola, aby dopasować.
Oto przykład, jak pobrać dokumenty o określonej wartości pola:
# Znajdź dokumenty, w których nazwa to „John Smith” kursor = użytkownicy.Znajdź („Nazwa”: „John Smith”) # iteruj przez kursor i wydrukuj dokumenty dla DOC w kursor: print (Doc)123456 | # Znajdź dokumenty, w których nazwa to „John Smith” kursor = użytkownicy.Znajdź („Nazwa”: „John Smith”) # Iteruj przez kursor i wydrukuj dokumenty do dokumentu w kursor: print (Doc) |
To odzyska wszystkie dokumenty z „Użytkownicy”
kolekcja, w której pole nazwy jest równe 'John Smith'
.
Możesz także użyć operatorów porównawczych w filtrze, aby określić bardziej złożone kryteria. Na przykład, aby pobrać dokumenty, w których pole nazwy zaczyna się od litery "J", możesz użyć „$ Regex”
operator:
123456 | # Znajdź dokumenty, w których nazwa zaczyna się od „j” kursor = użytkownicy.Znajdź ('name': '$ regex': '^j') # iteruj przez kursor i wydrukuj dokumenty do dokumentu w kursor: print (doc) |
Aktualizacja dokumentów
Aby zaktualizować dokument w kolekcji, możesz użyć „aktualizacja_one ()”
Lub „aktualizacja_many ()”
Metoda obiektu kolekcji.
Oto przykład aktualizacji jednego dokumentu:
# Zaktualizuj wiadomość e -mail pierwszego wyniku dokumentu = użytkownicy.aktualizacja_one ('nazwa': 'John Smith', '$ set': 'e -mail': 'John.Smith@Przykład.com ') druk (wynik.modyfikowany_count)1234 | # Zaktualizuj wiadomość e -mail pierwszego dokumentResult = Użytkownicy.aktualizacja_one ('name': 'John Smith', '$ set': 'e -mail': '[e -mail chroniony]') print (wynik.modyfikowany_count) |
To zaktualizuje pole e -mail pierwszego dokumentu, który pasuje do filtra „„ Nazwa ”:„ John Smith ””
. „Modified_count”
właściwość obiektu wyniku zawiera liczbę zmodyfikowanych dokumentów.
Możesz także aktualizować wiele dokumentów jednocześnie za pomocą „aktualizacja_many ()”
metoda. Ta metoda przyjmuje filtr i dokument aktualizacji jako argumenty.
Oto przykład aktualizacji wielu dokumentów:
# Zaktualizuj e -mail wszystkich dokumentów wynik = użytkownicy.aktualizacja_many (, '$ set': 'e -mail': 'John.Smith@Przykład.com ') druk (wynik.modyfikowany_count)1234 | # Zaktualizuj wiadomość e -mail wszystkich dokumentówSul = Użytkownicy.aktualizacja_many (, '$ set': 'e -mail': '[e -mail chroniony]') print (wynik.modyfikowany_count) |
To zaktualizuje pole e -mail wszystkich dokumentów w „Użytkownicy”
kolekcja do „[e -mail chroniony]”
.
Zamknięcie połączenia
Zamknięcie połączenia
Po zakończeniu pracy z bazą danych dobrym pomysłem jest zamknięcie połączenia w celu zwolnienia zasobów. Aby zamknąć połączenie, możesz zadzwonić 'zamknąć()'
Metoda obiektu klienta.
Oto przykład zamykania połączenia:
# Zamknij klienta połączenia.zamknąć()12 | # Zamknij połączenie.zamknąć() |
Otóż to! Nauczyłeś się teraz, jak łączyć się z bazą danych MongoDB w Python, wstawić dane, zapytać o bazę danych i aktualizować dokumenty. Dzięki tym umiejętnościom powinieneś być w stanie rozpocząć budowanie aplikacji, które przechowują i manipulowane danymi za pomocą MongoDB.
- « Jak zdefiniować globalne zmienne w Pythonie
- Obecna data i godzina w szczegółowym samouczku Pythona »