MongoDB Pobierz wszystkie indeksy w kolekcji

MongoDB Pobierz wszystkie indeksy w kolekcji
W tym artykule zbadamy dwie główne metody, których możesz użyć, aby uzyskać listę wszystkich indeksów w danym kolekcji. Indeksy to bardzo ważne struktury danych, które są używane do zwiększenia wydajności i wydajności zapytań wykonania w kolekcji MongoDB.

Indeksy pozwalają MongoDB szybko pobierać dokumenty pasujące do określonego zapytania bez skanowania całej kolekcji w celu dopasowania wyników.

Warto jednak pamiętać, że ten post nie obejmuje procesu tworzenia indeksu. Sprawdź nasz samouczek na ten temat, aby dowiedzieć się więcej.

Wskakujmy.

Metoda 1: MongoDB GetIndexes ()

Pierwszą metodą, którą omówimy, jest metoda getIndexes (). Ta metoda jest dostępna w MongoDB Shell, która pozwala uzyskać wszystkie indeksy w danej kolekcji jako tablicę.

Ta metoda zwraca szczegółowe informacje o dostępnych indeksach, w tym ukryte indeksy w formacie czytelnym człowieka.

Składnia polecenia jest jak pokazano następująco:

db.kolekcja.getIndexes ()

Uwaga: W zależności od konfiguracji klastra metoda może wymagać od uruchomionego użytkownika, aby uprawnienia indeksów listy w kolekcji docelowej.

Załóżmy, że mamy kolekcję o nazwie „Netflix”. Możemy uzyskać wszystkie indeksy w kolekcji, uruchamiając następujące zapytanie:

db.Netflix.getIndexes ()

Żądanie powinno zwrócić tablicę z informacjami o dostępnych indeksach w zbiorze docelowym.

Przykładowe dane wyjściowe jest jak pokazano następująco:

[[[
v: 2, klucz: _id: 1, nazwa: '_id_',

V: 2,
Klucz: rok: 1, wynik: -1,
Nazwa: „rok_index”,
KOLACJA:
lokalizacja: „en”,
Caselevel: Fałsz,
caseFirst: „off”,
Siła: 3,
Numericordering: False,
Alternate: „Niegnorowane”,
MaxVariable: „Puck”,
Normalizacja: Fałsz,
wstecz: Fałsz,
Wersja: '57.1 '


]

W tym przypadku kolekcja zawiera jeden indeks o nazwie „rok_index”. Możemy również znaleźć kolejne informacje o indeksie, takie jak siła, wersja, lokalizacja i inne.

Metoda 2: Pobierz indeksy kolekcji za pomocą metody ListIndexes

Drugą metodą, której możemy użyć do wyświetlenia listy dostępnych indeksów w danym kolekcji, jest metoda ListIndexes. Ta metoda jest poleceniem bazy danych i jest obsługiwana w sterowniku specyficznym dla języka.

Składnia poleceń jest jak pokazano:

db.Uruchom polecenie (

ListIndexes: „”,
Cursor: BatchSize: ,
komentarz:

)

Obsługiwane parametry są jak pokazano:

  1. Kolekcja_nazwa - Określa nazwę kolekcji docelowej jako typu ciąg.
  2. partia - określa rozmiar partii dla kursora.
  3. Komentarz - komentarz użytkownika dla określonego polecenia.

Rozważ następujące przykładowe zapytanie:

db.runCommand (ListIndexes: „Netflix”)

Poprzednie zapytanie wywołuje polecenie ListIndexes w kolekcji „Netflix”. Powinno to zwrócić wszystkie indeksy dla konkretnej kolekcji, jak pokazano przy następujących wyjściach:


Cursor:
ID: Long („0”),
NS: „Rozrywka.Netflix ',
pierwsza partia: [
v: 2, klucz: _id: 1, nazwa: '_id_',

V: 2,
Klucz: rok: 1, wynik: -1,
Nazwa: „rok_index”,
KOLACJA:
lokalizacja: „en”,
Caselevel: Fałsz,
caseFirst: „off”,
Siła: 3,
Numericordering: False,
Alternate: „Niegnorowane”,
MaxVariable: „Puck”,
Normalizacja: Fałsz,
wstecz: Fałsz,
Wersja: '57.1 '


]
,
OK: 1,
„$ clustertime”:
Clustertime: Timestamp (T: 1663940670, i: 2),
podpis:
Hash: binarny (bufor.z („C243619D64CA61A5C651B4BBB21A8B020A101278”, „HEX”), 0), 0),
KeyID: Long („7110175001109594117”)

,
Operacja: Znacznik czasu (T: 1663940670, i: 2)

Ponieważ nie określamy rozmiaru partii dla kursora, polecenie zwraca wszystkie wyniki polecenia ListIndexes.

Aby pokazać tylko jeden wynik, możemy ustawić parametr partii na 1, jak pokazano następująco:

db.runCommand (ListIndexes: „Netflix”, kursor: BatchSize: 1)

W takim przypadku polecenie powinno zwrócić dane wyjściowe, jak pokazano następująco:


Cursor:
ID: Long („3645642518793960930”),
NS: „Rozrywka.Netflix ',
FirstBatch: [v: 2, klucz: _id: 1, nazwa: '_id_']
,
OK: 1,
„$ clustertime”:
Clustertime: Timestamp (T: 1663940831, i: 2),
podpis:
Hash: binarny (bufor.z („66058e9b4b4d59de21ff01c05480d84438e99411”, „hex”), 0), 0),
KeyID: Long („7110175001109594117”)

,
Operacja: Znacznik czasu (T: 1663940831, i: 2)

Możesz zwiększyć rozmiar partii, aby uzyskać więcej informacji o indeksach w kolekcji.

Wniosek

W tym poście omówiliśmy dwie główne metody pobierania wszystkich indeksów danej kolekcji za pomocą poleceń MongoDB Shell i poleceń bazy danych. Zapraszam do zbadania dokumentu w celu uzyskania bardziej szczegółowych informacji.

Szczęśliwe kodowanie!