sql >> Databáze >  >> NoSQL >> MongoDB

Získejte seznam indexů v MongoDB

V MongoDB můžete použít getIndexes() metoda k získání seznamu indexů v kolekci.

Můžete také procházet každou kolekci v databázi a vrátit všechny indexy v databázi.

Seznam indexů pro konkrétní sbírku

db.collection.getIndexes() metoda vrací indexy na dané kolekci. Nahraďte collection část pro skutečný název sbírky.

Přesněji řečeno, tato metoda vrací pole, které obsahuje seznam dokumentů, které identifikují a popisují existující indexy v kolekci, včetně skrytých indexů.

Příklad:

db.posts.getIndexes()

Výsledek:

[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_"
	},
	{
		"v" : 2,
		"key" : {
			"title" : 1
		},
		"name" : "title_1"
	},
	{
		"v" : 2,
		"key" : {
			"tags" : 1
		},
		"name" : "tags_1"
	}
]

V tomto příkladu posts kolekce má tři indexy.

Seznam všech indexů v aktuální databázi

Můžeme posunout předchozí příklad o krok dále a nechat jej procházet všemi kolekcemi v aktuální databázi a vypisovat všechny indexy pro každou kolekci.

Příklad kódu:

db.getCollectionNames().forEach(function(collection) {
    indexes = db.getCollection(collection).getIndexes();
    print("Indexes on " + collection + ":");
    printjson(indexes);
});

Příklad výsledku:

Indexes on articles:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Indexes on employees:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Indexes on posts:
[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_"
	},
	{
		"v" : 2,
		"key" : {
			"title" : 1
		},
		"name" : "title_1"
	},
	{
		"v" : 2,
		"key" : {
			"tags" : 1
		},
		"name" : "tags_1"
	}
]
Indexes on products:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]

V tomto příkladu jsou čtyři kolekce:články, zaměstnanci, příspěvky a produkty, každá s jedním nebo více indexy.


  1. Povolení komprese dat v MongoDB 3.0

  2. Je možné získat pole v pořadí projekce v Agregation Frameworks mongo

  3. Výukový program MongoDB pro začátečníky (kompletní průvodce) – Naučte se MongoDB za 15 minut

  4. Jak povolit TLS pro Redis 6 na Sidekiq?