MongoDB obtient tous les index sur la collection

MongoDB obtient tous les index sur la collection
Dans cet article, nous explorerons les deux méthodes principales que vous pouvez utiliser pour obtenir la liste de tous les index d'une collection donnée. Les index sont des structures de données très importantes qui sont utilisées pour améliorer l'efficacité et les performances des requêtes d'exécution dans une collection MongoDB.

Les index permettent au MongoDB de récupérer rapidement les documents qui correspondent à une requête spécifique sans scanner toute la collection pour les résultats correspondants.

Cependant, il est bon de garder à l'esprit que ce message ne couvre pas le processus de création d'index. Consultez notre tutoriel sur le sujet pour en savoir plus.

Passons à.

Méthode 1: MONGODB GETINDEXES () Méthode

La première méthode dont nous discuterons est la méthode getIndexes (). Cette méthode est disponible dans MongoDB Shell qui vous permet d'obtenir tous les index dans une collection donnée en tant que tableau.

Cette méthode renvoie des informations détaillées sur les index disponibles, y compris les index cachés dans un format lisible par l'homme.

La syntaxe de commande est comme indiqué dans les éléments suivants:

db.collection.getIndexes ()

Remarque: Selon la configuration du cluster, cette méthode peut nécessiter que l'utilisateur en cours d'exécution ait les autorisations d'index de liste sur la collection cible.

Supposons que nous ayons une collection appelée "Netflix". Nous pouvons obtenir tous les index de la collection en exécutant la requête suivante:

db.netflix.getIndexes ()

La demande doit renvoyer un tableau avec les informations sur les index disponibles dans la collection cible.

Un exemple de sortie est comme indiqué dans ce qui suit:

[
v: 2, clé: _id: 1, nom: '_id_',

V: 2,
clé: année: 1, score: -1,
Nom: 'Year_index',
Collation:
Locale: «en»,
Caselevel: faux,
CaseFirst: «off»,
Force: 3,
NUMERCORSERING: FAUX,
Alternate: «non indignable»,
Maxvariable: «ponctuation»,
Normalisation: Faux,
en arrière: faux,
Version: '57.1'


]]

Dans ce cas, la collection contient un index appelé «année_index». Nous pouvons également trouver une autre information d'index telle que la force, la version, les paramètres régionaux et plus.

Méthode 2: Obtenez les index de collecte à l'aide de la méthode ListIndexes

La deuxième méthode que nous pouvons utiliser pour afficher la liste des index disponibles dans une collection donnée est la méthode ListIndexes. Cette méthode est une commande de base de données et est prise en charge dans un pilote spécifique à la langue.

La syntaxe de commande est comme indiqué:

db.RunCommand (

listindexes: "",
curseur: BatchSize: ,
commentaire:

)

Les paramètres pris en charge sont comme indiqué:

  1. Collection_name - Spécifie le nom de la collection cible en tant que type de chaîne.
  2. BatchSize - Spécifie la taille du lot pour le curseur.
  3. Commentaire - Commentaire de l'utilisateur pour la commande spécifiée.

Considérez l'exemple de requête suivante:

db.runCommand (listIndexes: "Netflix")

La requête précédente invoque la commande ListIndexes sur la collection «Netflix». Cela devrait renvoyer tous les index de la collection spécifique comme indiqué dans la sortie suivante:


le curseur:
id: long ("0"),
NS: «Divertissement.Netflix ',
premier lot: [
v: 2, clé: _id: 1, nom: '_id_',

V: 2,
clé: année: 1, score: -1,
Nom: 'Year_index',
Collation:
Locale: «en»,
Caselevel: faux,
CaseFirst: «off»,
Force: 3,
NUMERCORSERING: FAUX,
Alternate: «non indignable»,
Maxvariable: «ponctuation»,
Normalisation: Faux,
en arrière: faux,
Version: '57.1'


]]
,
OK: 1,
'$ clustertime':
ClusterTime: Timestamp (t: 1663940670, i: 2),
signature:
Hash: binaire (tampon.De ("C243619D64CA61A5C651B4BBB21A8B020A101278", "Hex"), 0),
KeyId: Long ("7110175001109594117")

,
Opérationtime: horodatage (t: 1663940670, i: 2)

Puisque nous ne spécifions pas la taille du lot pour le curseur, la commande renvoie tous les résultats de la commande ListIndexes.

Pour afficher un seul résultat, nous pouvons définir le paramètre BatchSize sur 1 comme indiqué dans ce qui suit:

db.runCommand (listIndexes: "Netflix", curseur: BatchSize: 1)

Dans ce cas, la commande doit renvoyer une sortie comme indiqué dans ce qui suit:


le curseur:
ID: Long ("3645642518793960930"),
NS: «Divertissement.Netflix ',
FirstBatch: [v: 2, clé: _id: 1, nom: '_id_']
,
OK: 1,
'$ clustertime':
ClusterTime: Timestamp (t: 1663940831, i: 2),
signature:
Hash: binaire (tampon.De ("66058E9B4B4D59DE21FF01C05480D84438E99411", "Hex"), 0),
KeyId: Long ("7110175001109594117")

,
Opérationtime: horodatage (t: 1663940831, i: 2)

Vous pouvez augmenter le lot pour obtenir plus d'informations sur les index de la collection.

Conclusion

Dans cet article, nous avons discuté des deux principales méthodes de récupération de tous les index d'une collection donnée à l'aide des commandes Shell MongoDB et des commandes de base de données. N'hésitez pas à explorer le document pour des informations plus détaillées.

Codage heureux!