Jak połączyć bazę danych MongoDB w Python

Jak połączyć bazę danych MongoDB w Python

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/”)
1234Importuj 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:

# Znajdź dokumenty, w których nazwa zaczyna się od „j” kursor = użytkownicy.Znajdź ('name': '$ regex': '^j') # iteruj przez kursor i wydrukuj dokumenty dla Doc w kursor: print (doc)
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.