MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Obtenir une liste des index dans MongoDB

Dans MongoDB, vous pouvez utiliser le getIndexes() méthode pour obtenir une liste d'index sur une collection.

Vous pouvez également parcourir chaque collection d'une base de données pour renvoyer tous les index de la base de données.

Répertorier les index d'une collection spécifique

Le db.collection.getIndexes() La méthode renvoie les index sur une collection donnée. Remplacez la collection partie pour le nom réel de la collection.

Plus précisément, cette méthode renvoie un tableau contenant une liste de documents qui identifient et décrivent les index existants sur la collection, y compris les index cachés.

Exemple :

db.posts.getIndexes()

Résultat :

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

Dans cet exemple, les posts collection a trois index.

Répertorier tous les index de la base de données actuelle

Nous pouvons pousser l'exemple précédent un peu plus loin et le faire parcourir toutes les collections de la base de données actuelle, en répertoriant tous les index pour chaque collection.

Exemple de code :

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

Exemple de résultat :

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

Dans cet exemple, il existe quatre collections :articles, employés, publications et produits, chacune avec un ou plusieurs index.