sql >> Database teknologi >  >> NoSQL >> MongoDB

Få en liste over indekser i MongoDB

I MongoDB kan du bruge getIndexes() metode til at få en liste over indekser på en samling.

Du kan også gå gennem hver samling i en database for at returnere alle indekser i databasen.

Liste indekser for en specifik samling

db.collection.getIndexes() metode returnerer indeksene på en given samling. Erstat collection del for det egentlige navn på samlingen.

Mere specifikt returnerer denne metode et array, der indeholder en liste over dokumenter, der identificerer og beskriver de eksisterende indekser på samlingen, inklusive skjulte indekser.

Eksempel:

db.posts.getIndexes()

Resultat:

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

I dette eksempel er posts samlingen har tre indekser.

Vis alle indekser i den aktuelle database

Vi kan tage det foregående eksempel et skridt videre og få det til at gennemgå alle samlingerne i den aktuelle database, og vise alle indekser for hver samling.

Eksempelkode:

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

Eksempelresultat:

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

I dette eksempel er der fire samlinger:artikler, medarbejdere, indlæg og produkter, hver med et eller flere indekser.


  1. Azure Redis Cache max forbindelser nået

  2. Spark-on-HBase:DataFrame-baseret HBase-stik

  3. projektion fungerer ikke med find-forespørgsel

  4. Hvordan kan jeg finde sessions-id'et, når jeg bruger express / connect og en session store?