Samouczek MongoDB dla początkujących: Naucz się MongoDB w prostych krokach

Opublikowany: 2022-08-31

MongoDB 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.

Spis treści

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.