Wprowadzenie do MongoDB tworzy Indeks

MongoDB jest wykorzystywany przez złożone eksploracje danych, algorytmy analizy danych do zarządzania, modyfikowania i rozmieszczania danych, na których pracują. Dane, z którymi mają do czynienia, są ogromne i wymagają wydajnej obsługi. Indeksy w DBMS pomagają zwiększyć wydajność zapytań, takich jak pobieranie i aktualizowanie danych. Wyobraź sobie kolekcję zawierającą setki dokumentów. Aby znaleźć dokumenty pasujące do określonego filtra, MongoDB musiałby dopasować filtr do wszystkich dokumentów obecnych w kolekcji, co jest uciążliwe i czasochłonne. Zamiast indeksować dokumenty (pola) znacznie skróci czas wyszukiwania. W tym temacie dowiemy się o tworzeniu indeksu MongoDB.

Indeksy to struktury danych wypełnione częściowym zestawem danych. Indeks przechowuje wartość określonego pola (pól) w dokumentach w uporządkowany sposób, który obsługuje operacje takie jak komparatory, równiki i zapytania oparte na zakresie w kolejności sekwencyjnej.

Podstawowa składnia do tworzenia indeksu

db.collectionName.createIndex(, )

KluczeKlucze to dokument zawierający parę wartości pola, w którym pole jest kluczem indeksu, a wartość jest rodzajem indeksu.

Na przykład wartość wynosi 1 dla sortującego klucza indeksu w kolejności rosnącej i -1 w kolejności malejącej

OpcjeOpcje to dokument zawierający zestaw opcji wpływających na tworzenie indeksów. Te opcje są opcjonalne.

Rodzaje indeksów

Oto typy indeksów wymienione poniżej

1. Domyślny identyfikator

Każdy dokument obecny w kolekcji Mongo zawiera indeks

domyślnie o nazwie „_id”. Identyfikator obiektu jest tworzony podczas tworzenia dokumentu, jeśli nie ma żadnych wartości indeksu.

2. Pojedyncze pole

Indeksowanie odbywa się na jednym polu, a operacja sortowania jest rosnąca lub malejąca, ponieważ MongoDB może przechodzić w dowolnym kierunku.

Przykład: db.collection.createIndex ((„wiek”: 1))

3. Indeks związku

MongoDB obsługuje indeksy zdefiniowane przez użytkownika w wielu polach. Kolejność pól podanych w indeksie złożonym jest dość znacząca. Kolejność sortowania trwa od lewej do prawej, priorytet wrt do pierwszego pola wymienionego w indeksach złożonych jest wyższy niż dla następnego pola.

Przykład: db.collection.createIndex ((„age”: 1, ”dim.h”: - 1)). W tym przykładzie wszystkie dokumenty z polem wieku są najpierw sortowane w porządku rosnącym, a następnie w malejącej wysokości w przyciemnionym.

4. Indeks Multikey

MongoDB używa Multikey Index do indeksowania danych w formacie tablicowym. Podczas indeksowania każdy element w tablicy jest tworzony osobny indeks, a dane są indeksowane na podstawie elementów obecnych w tablicy. MongoDB dba o to, czy pole indeksu ma domyślnie tablicę.

5. Indeks geoprzestrzenny

MongoDB korzysta z indeksowania geoprzestrzennego, aby znaleźć dane na podstawie swojej lokalizacji. Obsługuje dwa typy wyszukiwania: 2D (dwuwymiarowy) i 3D (trójwymiarowy). Te indeksy służą do uzyskiwania wyników w zakresie. Liczbę wyników wyszukiwania można również ograniczyć za pomocą funkcji limit ().

Przykład: db.players.find ((loc: ($ near: ($ geometry: (type: „high_school”, sport: „Basketball” wiek: (14, 17)))))). W tym przykładzie znajdziesz wszystkie wpisy uczniów, którzy są w liceum, grają w koszykówkę i są w wieku od 14 do 17 lat.

6. Indeks tekstowy

MongoDB zapewnia indeksowanie tekstu w celu obsługi zapytań w formacie łańcuchowym. Indeks tekstowy może zawierać dowolne pola składające się z elementów łańcuchowych lub tablicy elementów łańcuchowych.
Przykład: db.movies.find (($ text: ($ search: „tom hardy”)))). W tym przykładzie znajdziesz wszystkie dokumenty, które mają nazwy aktorów, takie jak Tom Hanks, Tom Felton, Tom Hiddelson, a także Robert Hardy i John Hardy. MongoDB pobiera ciąg przeznaczony do wyszukiwania i podaje wszystkie dokumenty, które zawierają pełny lub częściowy ciąg wyszukiwania.

7. Wskaźnik skrótu

MongoDB korzysta z indeksu mieszania do obsługi dzielenia na fragmenty. Indeksy mieszania obliczają wartość skrótu pól indeksu za pomocą funkcji skrótu. Nie obsługuje indeksowania wielu kluczy (wartości tablic). Indeksy mieszania są tworzone za pomocą funkcji createIndex, a wartość pola indeksu powinna być zawsze „mieszana”.

Przykład: db.collection.createIndex ((: „hashed”)) . Aby znaleźć dokumenty z wartościami skrótu, db.collection.find ((: Math.pow (2, 63))) zwróci wszystkie dokumenty z indeksami skrótu w zakresie 2 63.

Opcje indeksowania

1. Unikalny indeks

Jak sama nazwa wskazuje, unikalne indeksy mają unikalny charakter. MongoDB nie zezwala na powielanie wartości, jeśli indeks jest tworzony przy użyciu opcji „unikatowej”. Aby określić, że indeks jest unikalny podczas tworzenia indeksu, należy użyć następującego formatu.

db.collection.createIndex (, (unikalny: prawda)) . Unikalne ograniczenia można również nałożyć na indeks złożony, indeks wielościenny i indeks tekstowy.

2. Indeks częściowy

Częściowe indeksowanie indeksuje dokumenty kolekcji na podstawie określonego filtru lub wyrażenia. Ponieważ indeksy częściowe indeksują, tylko podgrupa wymagań dotyczących miejsca do gromadzenia (pamięci) jest mniejsza, co powoduje również obniżenie wydajności.

Przykład :

db.pupils.createIndex ((name: 1), (niepełnyFilterExpression: (wiek: ($ gt: 5)))
Obsługiwane wyrażenia filtrów:

  • $ gt, $ gte, $ lt, $ lte (większa niż, większa lub równa, mniejsza niż i mniejsza lub równa)
  • operatory typu $
  • $ istnieje: prawdziwa operacja
  • Operator równości (eq $)
  • Logiczne i lub operacje

3. Indeks TTL

TTL indeksuje specjalny rodzaj indeksów pojedynczych kluczy, które można usunąć z kolekcji MongoDB po przekroczeniu limitu czasu lub w określonym czasie. pomocny.

Przykład:

db.log.createIndex ((„lastModifiedDate”: 1), (expireAfterSeconds: 10000))

4. Indeks rzadki

Rzadkie indeksy indeksują tylko dokumenty zawierające wartość pola indeksu. Ignoruje wszystkie inne dokumenty, które nie zawierają pola. Domyślnie nierzadkie indeksy zawierają wszystkie dokumenty w kolekcjach, gdzie null jest wartością dla tych pól, które nie są obecne.

Przykład:

db.pupil.createIndex ((„age”: 1), (sparse: true))
Indeks nie indeksuje dokumentów, które nie zawierają wieku pola.

5. Indeks bez rozróżniania wielkości liter

Indeksy bez rozróżniania wielkości liter służą do obsługi zapytań, które wykonują porównania ciągów bez względu na rozróżnianie wielkości liter.

Przykład:

db.collection.createIndex ((„key”: 1), (collation:))

Porównanie:

Dokument zestawienia służy do określania reguł językowych, wielkości liter itp. Do porównywania ciągów.

Dokumenty sortowania składają się z następujących elementów:

Wniosek - MongoDB tworzy Indeks

Podsumowując, indeksowanie ma kluczowe znaczenie dla szybszego wykonywania zapytań i zarządzania pamięcią. Indeksy można tworzyć, modyfikować zgodnie z wymaganiami użytkowników i upuszczać, gdy nie są potrzebne.

Polecane artykuły

Jest to przewodnik po tworzeniu indeksu MongoDB. Tutaj omawiamy typy indeksów i opcje indeksowania wraz z przykładami. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Narzędzia MongoDB
  2. Co to jest MongoDB?
  3. Replikacja w MongoDB
  4. Zalety MongoDB