Składnia polecenia jest jak pokazano następująco:
db.Uruchom polecenie (
ListIndexes: „”,
Cursor: BatchSize:,
komentarz:
)
Obsługiwane parametry są następujące:
Rozważ następujące przykładowe zapytanie:
db.runCommand (ListIndexes: „Hulu”)
Dane zapytanie wywołuje polecenie ListIndexes w kolekcji „Hulu”. Powinno to zwrócić wszystkie indeksy dla konkretnej kolekcji, jak pokazano przy następujących wyjściach:
Cursor:
ID: Long („0”),
NS: „Rozrywka.Hulu ',
pierwsza partia: [
v: 2, klucz: _id: 1, nazwa: '_id_',
V: 2,
Klucz: release_year: 1,
Nazwa: „release_year_index”,
rzadkie: fałszywe
]
,
OK: 1
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: „Hulu”, kursor: BatchSize: 1)
W takim przypadku polecenie powinno zwrócić dane wyjściowe, jak pokazano następująco:
Cursor:
ID: Long („6609474838031556340”),
NS: „Rozrywka.Hulu ',
FirstBatch: [v: 2, klucz: _id: 1, nazwa: '_id_']
,
OK: 1
Możesz zwiększyć rozmiar partii, aby uzyskać więcej informacji o indeksach w kolekcji.
MongoDB pokaż wszystkie indeksy w bazie danych
Załóżmy, że chcemy pokazać wszystkie indeksy we wszystkich kolekcjach określonej bazy danych. W tym celu możemy użyć funkcji Foreach, aby iterować każdą kolekcję w bazie danych i wymienić odpowiednie indeksy.
Przykładowe zapytanie jest, jak pokazano następująco:
db.getCollectionNames ().foreach (funkcja (kolekcja) all_indexes = db.GetCollection (kolekcja).ListIndexes (); print („Indeksy„ + kolekcja + ”:->”); printJson (all_indexes); );
Poprzednie zapytanie rozpoczyna się od pobrania wszystkich nazw kolekcji w danej bazie danych za pomocą metody getCollectionNames (). Następnie iterujemy każdą kolekcję w bazie danych i przekazujemy je jako parametry metody getIndexes ().
Na koniec zapisujemy każdy wynik w zmiennej All_Indexes. Aby uzyskać czytelne dane wyjściowe, używamy metod drukowania i drukowania, aby lepiej formatować.
Powinno to zwrócić wszystkie kolekcje i odpowiadające im indeksy, jak pokazano następująco:
[[[
v: 2, klucz: _id: 1, nazwa: '_id_',
V: 2,
Klucz: _fts: „Text”, _ftsx: 1,
Nazwa: „Ocena”,
rzadkie: fałszywe,
Waga: ocena: 1,
Default_Language: „angielski”,
Language_override: „Język”,
TextIndexversion: 3
]
Indeksy Amazon_prime:->
[[[
v: 2, klucz: _id: 1, nazwa: '_id_',
V: 2,
Klucz: _fts: „Text”, _ftsx: 1,
Nazwa: „content_type”,
rzadkie: fałszywe,
Waga: typ: 1,
Default_Language: „angielski”,
Language_override: „Język”,
TextIndexversion: 3
]
Indeksy Hulu:->
[[[
v: 2, klucz: _id: 1, nazwa: '_id_',
V: 2,
Klucz: release_year: 1,
Nazwa: „release_year_index”,
rzadkie: fałszywe
]
W naszym przykładzie mamy trzy kolekcje, każdy z jednym indeksem, jak pokazano w poprzedniej tablicy wyjściowej.
Wniosek
W tym poście omówiliśmy sposób korzystania z metody ListIndexes (), aby uzyskać listę wszystkich indeksów w danym kolekcji. Omówiliśmy również, jak utworzyć prosty skrypt, aby uzyskać wszystkie indeksy i powiązany kolekcja w danej bazie danych.
Szczęśliwe kodowanie!