Podstawy MongoDB – Instalacja i korzystanie z terminala mongo.

Gdy mówimy o aplikacjach pisanych tylko w technologiach javascriptowych, najczęściej zakładamy, że do części serwerowej użyjemy jednego z narzędzi node’owych, na przykład express czy sails. Po stronie front endu, mamy do wyboru któryś z popularnych w danej chwili frameworków: angular, reacta itp. Natomiast, jeżeli chodzi o bazę danych zazwyczaj do głowy przychodzi tylko jedna opcja: mongoDB.

Nie poruszałem jeszcze na blogu tematu mongo. Czas to zmienić. Rozpoczynam nową serię, w której omawiać będę korzystanie z bazy danych mongoDB. Temat ten przyda się zarówno do mojego projektu Daj Się Poznać, jak i w innych nadchodzących projektach.

Podstawy MongoDB

W dzisiejszym poście omówię podstawy podstaw, czyli jak zainstalować sobie mongo, oraz jak obsługiwać bazy danych ze specjalnego mongowego procesu w terminalu.

Opiszę tylko ogólną charakterystykę tej technologii, nie chcę w szczegółach rozpisywać się czym jest mongo i dlaczego warto z niego korzystać. W dzisiejszych czasach technologia ta jest już na tyle powszechna, że nikt nie powinien mieć problemu z odnalezieniem tych informacji w sieci a ja mogę poświęcić miejsce we wpisie na konkrety 🙂 .

Mongo to nierelacyjny system baz danych, który, w przeciwieństwie do relacyjnych systemów, nie zawiera ustrukturyzowanego podejścia do zarządzania danymi. Dzięki temu, mongo ma być bardziej skalowalny i wydajny. Nie znaczy to, że mongo jest lepsze od na przykład SQL, (szczerze mówiąc, uważam, że warto znać obie te technologię) przynajmniej nie bezpośrednio. Każdy z tych systemów ma swoje złe i dobre strony, jak to zwykle w życiu bywa 🙂 Ja, na przykład, lubię pracować z mongo ponieważ dokumenty w tej bazie danych, zapisywane są w bardzo dobrze znanym mi formacie JSON, a Dzięki temu łatwo jest mi poruszać się po strukturze danych 🙂 .

Instalacja mongoDB

Proces instalacji jest bardzo prosty. Najpierw należy, oczywiście pobrać instalkę ze strony mongoDB. Wybieramy plik odpowiedni dla naszego systemu i zapisujemy go na dysku. Gdy jest to juz gotowe, wystarczy uruchomić instalację i wykonywać pojawiające się na ekranie polecenia. Na linuxie to wszystko, mongo jest gotowe do użycia. Jeśli jednak korzystasz z systemu windows, musisz do zmiennej środowiskowej PATH dodać ścieżkę do katalogu bin znajdującego się w katalogu z instalacją mongo. Ścieżka zależy od tego gdzie zainstalowałeś mongo. U mnie ma ona domyślną wartość i wygląda tak: C:\Program Files\MongoDB\Server\3.4\bin

W katalogu bin znajdują się dwa polecenia, które nas interesują i które będziemy wywoływać z wiersza poleceń (stąd potrzebna ich obecność w PATH). Pierwsze to mongod, które uruchamia serwer obsługujący bazy danych a drugie to po prostu mongo, które uruchamia proces pozwalający na interakcje z bazami danych.

Oczywiście pierwszą komendą, którą należy uruchomić jest mongod. Jeśli instalacja i ustawienie zmiennej środowiskowej się udały, to powinieneś zobaczyć coś takiego:

Wszystko ok, ale serwer nie wystartował. Dlaczego? W jednej z wylogowanych linijek tekstu znajduje się odpowiedź na to pytanie. Na dysku C brakuje katalogów data/db. Jest to domyślna przestrzeń, w której mongo zapisuje wszystkie dane. Wystarczy szybko stworzyć takie foldery i ponownie uruchomić komendę mongod.

Tym razem w konsoli nie powinien się zakończyć. Jeżeli tak się stało, to znaczy, że mamy sukces, mongo działa. Kolejnym krokiem jest uruchomienie interaktywnego procesu pozwalającego na manipulacje bazami danych. W osobnym oknie terminala odpalam polecenie mongo. Tak wygląda wynik:

Póki co, nie przejmuj się ostrzeżeniami. Teraz na początku linii widoczny jest symbol zamknięcia ostrego nawiasu. Oznacza on, że interaktywna powłoka mongo jest gotowa do pracy. Mogę teraz mogę wpisywać komendy wywołujące operacje na moich bazach danych.

Pierwszą komendą jaką mogę wpisać jest komenda db, wyświetli ona nazwę aktualnie używanej bazy danych. Domyślnie powinna wyświetlić się nazwa test.

Na początku dobrze jest przełączyć się na nową bazę. Można to zrobić poleceniem use i podaniem po spacji nazwy bazy, na której chcemy pracować. Jeżeli baza o takiej nazwie nie istnieje, to zostanie utworzona. Taką komendą tworzę bazę o nazwie example_database:

Swoją drogą, wszystkie dostępne bazy można zobaczyć wpisując w konsoli komendę show dbs.

Aby zapisać bazę, należy najpierw stworzyć w niej jakąś kolekcję. Mogę zrobić to używając obiektu db, w którym po kropce podaje nazwę mojej nowej kolekcji a następnie metodę insert. Jeżeli kolekcja o takiej nazwie nie istnieje w bazie, to zostanie utworzona. Może brzmi to dziwnie, więc pokaże na przykładzie:

To polecenie spowoduje, że do kolekcji dogs w aktualnej bazie danych, zostanie dodany obiekt z jednym polem – name o wartości maja.

Jeśli teraz w terminalu mongo wpiszę komendę dbs show, powinienem zobaczyć na liście moją example_database.

Co ciekawe, terminal mongo rozumie składnie javascriptową. Do kolekcji dogs zostanie dodany nowy rekord, jeśli wpiszę w terminalu takie oto dwa polecenia:

Aby się upewnić, mogę wyświetlić zawartość mojej kolekcji takim oto poleceniem:

Oto co zostanie wyświetlone w konsoli:

Oczywiście w jednej bazie danych, możemy tworzyć więcej kolekcji. Aby wyświetlić je wszystkie wystarczy wywołać taką komendę:

W kolejnym wpisie pokażę jak znajdować konkretne wpisy w kolekcjach, jak je aktualizować i jak je usuwać. Gdy to będzie już jasne, będę mógł zacząć wykorzystywać te możliwości mongo w moich aplikacjach node’owych.

Na dziś jednak to tyle 🙂 . Jeżeli chcesz być na bieżąco z postami na blogu zachęcam do polubienia mojej strony na facebooku. Zawsze zamieszczam tam informacje o wszystkich nowościach. Jest to też dobre miejsce na kontakt ze mną. Na wszystkie pytania zawsze odpowiem 🙂 .

2 przemyślenia nt. „Podstawy MongoDB – Instalacja i korzystanie z terminala mongo.”

  1. Andrzeju, jest to prosty ale trafny artykuł. Chciałbym spytać o kilka rzeczy w kontekście artykułu:
    1) Czy używasz produkcyjnie MongoDB ?
    2) Jak zarządzasz obsługą MongoDB, jakieś panel z dashboardem typu phpmyadmin dla mysql’a ?
    3) Czy używasz MongoDB jako głównej bazy, czy też jako głównej bazy używasz jakiejś bazy relacyjnej a do MongoDB replikujesz dane ?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *