sql >> Database >  >> NoSQL >> MongoDB

Krijg een lijst met indexen in MongoDB

In MongoDB kunt u de getIndexes() . gebruiken methode om een ​​lijst met indexen voor een verzameling te krijgen.

U kunt ook door elke verzameling in een database lopen om alle indexen in de database te retourneren.

Indexen voor een specifieke collectie weergeven

De db.collection.getIndexes() methode retourneert de indexen voor een bepaalde verzameling. Vervang de collection deel voor de eigenlijke naam van de collectie.

Meer in het bijzonder retourneert deze methode een array die een lijst met documenten bevat die de bestaande indexen in de collectie identificeren en beschrijven, inclusief verborgen indexen.

Voorbeeld:

db.posts.getIndexes()

Resultaat:

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

In dit voorbeeld zijn de posts collectie heeft drie indexen.

Lijst alle indexen in de huidige database

We kunnen het vorige voorbeeld een stap verder nemen en het door alle collecties in de huidige database laten lopen, waarbij alle indexen voor elke collectie worden weergegeven.

Voorbeeldcode:

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

Voorbeeld resultaat:

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_" } ]

In dit voorbeeld zijn er vier collecties:artikelen, medewerkers, berichten en producten, elk met een of meer indexen.


  1. Beste werkwijze om Redis te upgraden met Sentinels?

  2. MongoDB deleteOne()

  3. Hoe geheugenanalyse uitvoeren op AWS ElastiCache?

  4. MongoDB - Een document maken