Samouczek MongoDB dla początkujących: Naucz się MongoDB w prostych krokach
Opublikowany: 2022-08-31MongoDB to baza danych dokumentów i wiodąca baza danych NoSQL, która jest otwarta. Jest napisany w C++ i jest zorientowaną na dokumenty bazą danych NoSQL, używaną do przechowywania dużych ilości danych, zarządzania i dostarczania treści, infrastruktur mobilnych i społecznościowych, zarządzania danymi użytkowników itp.
Składa się z modelu danych, za pomocą którego można reprezentować relacje hierarchiczne. Opiera się na dokumentach podobnych do JSON z opcjonalnym schematem i nie używa wierszy i tabel, jak w tradycyjnych relacyjnych bazach danych. Dokumenty z parami klucz-wartość są podstawowymi jednostkami danych w MongoDB.
MongoDB przechowuje dane w formacie JSON. Jego wysokie zapotrzebowanie opiera się głównie na indeksie dowolnego atrybutu, replikacji i wysokiej dostępności, auto-shardingu, rozbudowanych zapytaniach, szybkich aktualizacjach w miejscu i bogatej obsłudze społeczności. Zagłębmy się w samouczek dotyczący zapytań mongodb.
Funkcje MongoDB
Użyteczność tej zorientowanej na dane bazy danych zależy od pewnych integralnych cech Mongo DB:-
- Każda baza danych składa się ze zbiorów, które dodatkowo zawierają dokumenty. Te dokumenty oraz ich rozmiar i zawartość mogą różnić się w zależności od liczby pól.
- Struktura dokumentu jest oparta na tym, jak programiści budują klasy i obiekty w swoich programach.
- Wiersze nie wymagają wstępnie zdefiniowanego schematu, ponieważ możesz tworzyć pola w podróży.
- Dzięki modelowi danych MongoDB możesz reprezentować hierarchiczne relacje do przechowywania tablic i innych złożonych struktur.
- Środowiska MongoDB są bardzo skalowalne.
- Obiekty aplikacji nie muszą być konwertowane ani mapowane na obiekty bazy danych.
- Pamięć wewnętrzna przechowuje okienkowy zestaw roboczy, który umożliwia łatwiejszy dostęp do danych.
- Struktura pojedynczego obiektu jest jasna.
- Nie ma skomplikowanych złączeń.
- Jego głębokie możliwości zapytań obsługują dynamiczne zapytania dotyczące dokumentów.
Sprawdź też nasz kurs nauki o danych, aby podnieść swoje umiejętności.
Rzeczy, które musisz wiedzieć o MongoDB i RDBMS
MongoDB to wieloplatformowa baza danych zorientowana na dokumenty, która zapewnia wysoką wydajność, efektywną skalowalność i wysoką dostępność. Działa w oparciu o dokument i kolekcję. Każda baza danych w MongoDB ma swój odrębny zestaw plików, a idealnie, pojedynczy serwer MongoDB ma wiele baz danych.
Z drugiej strony kolekcja to grupa dokumentów MongoDB równoważna tabeli RDBMS. Istnieje w jednej bazie danych i nie wymusza schematu. Dokumenty w kolekcji mogą mieć różne pola, a wszystkie dokumenty w kolekcji mają pokrewne lub podobne przeznaczenie. Zestaw par klucz-wartość nazywa się Dokumentami o dynamicznym schemacie, w którym dokumenty w tej samej kolekcji nie muszą mieć tego samego zestawu struktury lub pól.
W poniższej tabeli znajdziesz związek terminologii RDBMS z MongoDB.
RDBMS | MongoDB |
Baza danych | Baza danych |
Krotka | Dokument |
Stół | Kolekcja |
Połączenie tabeli | Osadzone dokumenty |
kolumna | Pole |
Główny klucz | Klucz podstawowy (MongoDB oferuje domyślny klucz _id) |
Serwer i klient bazy danych | |
mysqld/Oracle | mongod |
mysql/sqlplus | mongo |
Różnica między bazami danych MongoDB i SQL
MongoDB jest bardziej elastyczny niż SQL i oferuje lepszą dostępność danych. Jest również przenośny i rozszerzalny. Bazy danych SQL znane są ze swojej trwałości i spójności. W związku z tym najlepsze rozwiązanie bazodanowe zależy od rodzaju projektu, w który się angażuje.
MongoDB jest lepszy dla potoków programistycznych, podczas gdy bazy danych SQL są świetne dla niezawodnych transakcji danych organizacyjnych. MongoDB doskonale nadaje się do przetwarzania i pracy z nieustrukturyzowanymi danymi. Ta baza danych NoSQL jest jedną z najlepszych alternatyw do zasilania potoków danych i aplikacji, takich jak analityka w czasie rzeczywistym.
MongoDB doskonale nadaje się do pracy z urządzeniami IoT i aplikacjami mobilnymi/sieciowymi. Szybko staje się preferowanym wyborem dla programistów na całym świecie ze względu na jego elastyczność i możliwość płynnego skalowania.
Podczas gdy bazy danych SQL doskonale nadają się do pracy z danymi strukturalnymi, Data Science i do zaawansowanych zadań organizacyjnych, MongoDB spełnia wymagania współczesnych programistów i firm poprzez efektywne tworzenie oprogramowania lub usług online.
Przykłady korzystania z MongoDB
Przechowywanie zagnieżdżonych struktur danych
Możliwość zagnieżdżania obiektów w dokumentach to jedna z największych zalet MongoDB. Aby osadzić dane w dokumentach, programiści strukturyzują dane w MongoDB, zamiast rozdzielać je na różne kolekcje.
Oto przykład:-
{_id: ObjectId(“5effaa5662679b5af2c58829”),
email: “[email protected]”,
imię: {podano: „Lily”, rodzina: „Mona”},
wiek: 31 lat,
adresy: [{etykieta: „dom”,
ul. „Piekarz 22 1b”,
miasto: „Londyn”,
stan: „ENG”,
zip: „NW1 6XE”,
kraj: „Wielka Brytania”},
{etykieta: „mama”,
ulica: „Ulica Parkowa 555”,
miasto: „Miasto Jeziora”,
województwo: „Ontario”,
kraj: „CA”}]
}
Pole nazwy to zagnieżdżony obiekt mający w polu adresowym komponenty podane i nazwisko rodowe, gdzie w jednej tablicy przechowywanych jest wiele adresów. Każdy adres może mieć różne pola, co ułatwia przechowywanie innych typów danych.
Korzystanie z powłoki MongoDB
Powłoka MongoDB służy głównie do nawigacji, manipulowania i sprawdzania danych dokumentów. Kiedy MongoDB jest uruchamiany na lokalnym komputerze, uruchamianie powłoki łączy się z MongoDB na localhost na standardowym porcie. Pamiętaj, aby dodać parametry połączenia po poleceniu mongo, jeśli chcesz połączyć się z klastrem MongoDB Atlas lub inną instancją zdalną.
Poniżej znajdziesz krótkie przykłady powłoki: -
Lista kolekcji
> użyj mojej_bazy danych;
> pokaż kolekcje;
użytkownicy
posty
>
Lista baz danych
> pokaż dbs;
Administrator 0.000 GB
konfiguracja 0.000 GB
lokalne 0.000 GB
moja_baza danych 0,004 GB
>
Zapoznaj się z naszymi popularnymi kursami z zakresu nauki o danych
Executive Post Graduate Program in Data Science z IIITB | Profesjonalny program certyfikatów w dziedzinie nauki o danych do podejmowania decyzji biznesowych | Master of Science in Data Science z University of Arizona |
Zaawansowany program certyfikacji w dziedzinie nauki o danych z IIITB | Profesjonalny program certyfikacji w dziedzinie nauki o danych i analityki biznesowej Uniwersytetu Maryland | Kursy z nauki o danych |
Znajdź pierwszy dokument w kolekcji
> baza.użytkowników.findOne()
{
„_id”: ObjectId („5ce45d7606444f199acfba1e”),
„imię”: {podano: „Anna”, rodzina: „Kowalski”},
„e-mail”: „[email protected]”
„wiek”: 36
}
>
Policz dokumenty w kolekcji
> użyj mojej_bazy danych;
> baza.użytkowników.liczba()
20234
>
Znajdź dokument według ID
> db.users.findOne({_id: ObjectId(“5ce45d7606444f199acfba1e”)})
{
„_id”: ObjectId („5ce45d7606444f199acfba1e”),
„imię”: {podano: „Anna”, rodzina: „Kowalski”},
„e-mail”: „[email protected]”,
„wiek”: 36
}
>
Odpytywanie kolekcji MongoDB
Ta sama składnia co MongoDB Query Language (MQL) jest używana w dokumentach, których można używać w zaawansowanych zapytaniach. Poniżej znajdziesz przykłady zapytań MongoDB:
Znajdź ograniczoną liczbę wyników
> baza.użytkowników.find().limit(10)
…
>
Znajdź użytkowników według nazwiska
> db.users.find({„imię.rodzina”: „Kowalski”}).count()
1
>
Zwróć uwagę, że umieszczamy „imię.rodzina” w cudzysłowie, ponieważ ma kropkę pośrodku.
Przeszukuj dokumenty według zakresów liczbowych
// Wszystkie posty z polem „lubię to” o wartości liczbowej większej niż jeden:
> db.post.find({lubi: {$gt: 1}})
// Wszystkie posty mające 0 polubień
> db.post.find({lubionych: 0})
// Wszystkie posty, które NIE mają dokładnie 1 polubienia
> db.post.find({lubi: {$ne: 1}})
Sortuj wyniki według pola
// uporządkuj według wieku, rosnąco (najniższe wartości najpierw)
> baza.użytkownik.find().sort({wiek: 1})
{
„_id”: ObjectId („5ce45d7606444f199acfba1e”),
„imię”: {podano: „Alex”, rodzina: „Kowalski”},
„e-mail”: „[email protected]”,
„wiek”: 27
}
{
_id: ObjectId(“5effaa5662679b5af2c58829”),
email: “[email protected]”,
imię: {podano: „Jesse”, rodzina: „Xiao”},
wiek: 31
}
>
// uporządkuj według wieku, w porządku malejącym (najpierw największe wartości)
> db.user.find().sort({wiek: -1})
{
_id: ObjectId(“5effaa5662679b5af2c58829”),
email: “[email protected]”,
imię: {podano: „Lilly”, rodzina: „Mona”},
wiek: 31
}
{
„_id”: ObjectId („5ce45d7606444f199acfba1e”),
„imię”: {podano: „Anna”, rodzina: „Kowalski”},
„e-mail”: „[email protected]”,
„wiek”: 36
}
>
Najlepsze umiejętności w zakresie analizy danych do nauki w 2022 r.
SL. Nie | Najlepsze umiejętności w zakresie analizy danych do nauki w 2022 r. | |
1 | Kurs analizy danych | Kursy na temat statystyki wnioskowania |
2 | Programy testowania hipotez | Kursy regresji logistycznej |
3 | Kursy regresji liniowej | Algebra liniowa do analizy |
Wniosek
Skalowalność MongoDB sprawia, że jest to jedna z najszerzej wykorzystywanych baz danych, ponieważ zapewnia szereg korzyści w dziedzinie tworzenia oprogramowania i nauki o danych. Kariera w tych dziedzinach jest lukratywną opcją. Program Executive PG w dziedzinie nauki o danych firmy upGrad to doskonałe miejsce na rozpoczęcie kariery w dziedzinie nauki o danych i innych powiązanych dziedzinach.
Dlaczego MongoDB jest tak łatwe do skalowania?
MongoDB jest łatwe do skalowania, ponieważ nie jest bazą danych SQL, ponieważ dane w MongoDB nie są powiązane relacyjnie. Dane w MongoDB są przechowywane w samodzielnym formacie, który umożliwia łatwe skalowanie w poziomie poprzez dystrybucję tych dokumentów w wielu systemach (węzłach).
Jaka jest różnica między MongoDB a systemami bazodanowymi, takimi jak MariaDB i MySQL?
MongoDB to baza danych NoSQL, podczas gdy MariaDB i MySQL to bazy danych SQL. Ponadto MongoDB jest nierelacyjną bazą danych, podczas gdy pozostałe dwie są relacyjnymi bazami danych.
Dlaczego MongoDB jest tak popularny?
MongoDB jest istotną częścią stosu MERN w tworzeniu stron internetowych. Łatwo jest również wdrażać i skalować projekty w MongoDB. MongoDB jest znany ze swojej skalowalności. Świetnie pasuje do każdego potoku deweloperskiego.