Avec la commande MongoDB Create Index, vous pouvez créer un index afin de profiter d’une meilleure vue d’ensemble et de répondre aux requêtes plus fa­ci­le­ment. Dif­fé­rents pa­ra­mètres vous donnent ensuite la pos­si­bi­lité de moduler cet index.

MongoDB Create Index : qu’est-ce que c’est ?

Pour com­prendre à quoi sert la commande MongoDB Create Index et pourquoi elle est im­por­tante si vous tra­vail­lez tous les jours avec un système de gestion de base de données, il convient de s’in­té­res­ser à la structure de MongoDB.

À la dif­fé­rence des systèmes re­la­tion­nels tels que MySQL, cette solution NoSQL n’est pas basée sur des tables, mais plutôt sur des documents stockés dans des col­lec­tions. Comme elle ne s’appuie pas sur un schéma, elle est évolutive et très flexible. Cette solution vous permet donc de créer d’immenses bases de données, de créer des col­lec­tions et d’alimenter vos documents. Toutefois, si vous envoyez une requête de lo­ca­li­sa­tion pour des données spé­ci­fiques ou un ensemble de données en par­ti­cu­lier, vous avez besoin d’ordre. Pour ce faire, il convient d’utiliser les index.

En plus de mettre de l’ordre dans une base de données, un index facilite également le trai­te­ment des requêtes par le système. Si vous possédez une immense col­lec­tion com­pre­nant plusieurs milliers de documents, non seulement les temps d’attente s’allongent, mais les résultats perdent eux aussi en clarté. Toutefois, en ajoutant des index à vos documents, vous con­tri­buez à mieux classer ces derniers, ce qui vous permettra ensuite de les retrouver plus fa­ci­le­ment. En effet, comme seule une partie des documents doit fi­na­le­ment être lue, cela améliore gran­de­ment l’ef­fi­ca­cité de la recherche. Pour ce faire, essayez la commande MongoDB Create Index.

MongoDB Create Index : syntaxe

La commande MongoDB Create Index est cons­ti­tuée du nom de la col­lec­tion à afficher, de la commande pro­pre­ment dite, du critère relatif aux requêtes et d’un sens de comptage :

>db.COLLECTION_NAME.createIndex ( {KEY:1} )

« COL­LEC­TION_NAME » cor­res­pond au nom de la col­lec­tion dans laquelle vous souhaitez créer l’index. « crea­teIn­dex » désigne la commande en elle-même, « KEY » fait référence au champ à l’intérieur de la col­lec­tion et « 1 » vous permet d’indiquer que vous souhaitez effectuer le tri dans l’ordre croissant. Pour un tri par ordre dé­crois­sant, optez plutôt pour « -1 ».

MongoDB Create Index : exemple d’uti­li­sa­tion

Pour mieux com­prendre le fonc­tion­ne­ment et l’utilité de la commande MongoDB Create Index, nous allons utiliser un exemple simple, qui se présente de la manière suivante :

>db.beispiel.createIndex ( {"title":1} )

Le résultat se présente comme suit :

{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter": 2,
"ok" : 1
}

La première ligne indique que la col­lec­tion a été créée ma­nuel­le­ment, à l’aide de la commande MongoDB Create Col­lec­tion. La deuxième ligne précise le nombre d’index avant l’exécution de la commande. La troisième ligne affiche le nombre d’index après l’exécution de la commande, et la quatrième ligne confirme le bon dé­rou­le­ment de l’opération.

MongoDB Create Index : options

Pour optimiser la commande Create Index, vous pouvez faire appel à plusieurs options sup­plé­men­taires dans MongoDB ; il vous suffit de les placer dans les pa­ren­thèses, après l’in­di­ca­teur « KEY ». Les options suivantes s’offrent à vous :

  • « back­ground » : ce paramètre vous permet de créer un index en arrière-plan, et donc d’éviter que le processus de création ne perturbe le bon dé­rou­le­ment d’autres activités de la base de données. Cette option contient toujours une valeur booléenne qui cor­res­pond à « true » (vrai) ou « false » (faux), la valeur par défaut étant justement « false ».
  • « unique » : il s’agit également d’une valeur booléenne. Si elle cor­res­pond à « true », la commande Create Index crée un index unique, qui exclut les documents dont la valeur de clé (« KEY ») est déjà utilisée. Chaque valeur de clé n’apparaît donc qu’une seule fois. La valeur par défaut de l’option « unique » est également « false ».
  • « name » : avec cette option, vous pouvez donner à votre index le nom que vous souhaitez. Si vous décidez de ne pas utiliser ce paramètre, le système se charge alors de générer un nom.
  • « sparse » : pour que l’index ne prenne en compte que les documents avec un champ clai­re­ment défini, dé­fi­nis­sez la valeur de cette option sur « true ». Si cette méthode permet d’éco­no­mi­ser de l’espace, elle peut également se montrer imprécise. Sa valeur par défaut cor­res­pond à « false ».
  • « ex­pi­reAf­ter­Se­conds » : avec cette option, vous pouvez dé­ter­mi­ner le temps pendant lequel MongoDB conserve vos documents dans une col­lec­tion. Cette valeur s’indique en secondes.
  • « weights » : ce paramètre permet de dé­ter­mi­ner l’im­por­tance d’un champ par rapport aux autres champs d’un même index. Cette valeur est comprise entre 1 et 99 999.
  • « default_language » : si vous souhaitez utiliser une autre langue que l’anglais pour votre commande MongoDB Create Index, vous pouvez choisir celle-ci grâce à l’option « default_language ».
  • « language_override » : cette option vous permet quant à elle de remplacer la langue utilisée par défaut.

MongoDB Drop Index : supprimer des index

Main­te­nant que vous savez créer un nouvel index à l’aide de la commande Create Index, nous allons vous montrer comment supprimer celui-ci. La commande MongoDB Drop Index a été spé­cia­le­ment prévue à cet effet. Deux pos­si­bi­li­tés s’offrent à vous : indiquez le fichier cor­res­pon­dant à l’index que vous souhaitez supprimer, ou le nom de l’index concerné di­rec­te­ment.

La syntaxe de la première méthode se présente comme suit :

>db.COLLECTION_NAME.dropIndex ( {KEY:1} )

Et la syntaxe de la deuxième méthode se présente comme suit :

dropIndex ("Name_des_Indexes")
Aller au menu principal