Introduction à MongoDB create Index

MongoDB est utilisé par l'exploration de données complexes, des algorithmes d'analyse de données pour gérer, modifier et organiser les données sur lesquelles ils travaillent. Les données qu'ils traitent sont énormes et nécessitent une manipulation efficace. Les index du SGBD aident à augmenter les performances des requêtes telles que la récupération et la mise à jour des données. Imaginez une collection qui contient des centaines de documents. Pour trouver des documents qui correspondent à un filtre particulier, MongoDB devrait faire correspondre le filtre à tous les documents présents dans la collection, ce qui est fastidieux et prend du temps. Au lieu d'indexer des documents (champs), le temps de recherche sera considérablement réduit. Dans cette rubrique, nous allons en savoir plus sur MongoDB create Index.

Les index sont des structures de données qui contiennent un ensemble de données partielles en lui-même. L'index stocke la valeur d'un ou de plusieurs champs particuliers dans des documents de manière ordonnée qui prend en charge les opérations telles que les comparateurs, les équateurs et les requêtes basées sur des plages dans un ordre séquentiel.

La syntaxe de base pour créer un index

db.collectionName.createIndex(, )

ClésClés est un document qui contient une paire de valeurs de champ où le champ est la clé d'index et la valeur est le type d'index.

Par exemple, la valeur est 1 pour trier la clé d'index dans l'ordre croissant et -1 dans l'ordre décroissant

Les optionsOption (s) est un document qui contient un ensemble d'options qui influence la création d'index. Ces options sont facultatives.

Types d'index

Voici les types d'index mentionnés ci-dessous

1. Identifiant par défaut

Chaque document présent dans la collection Mongo contient un index

par défaut appelé "_id". Un identifiant d'objet est créé lors de la création du document si aucune valeur d'index n'est présente.

2. Champ unique

L'indexation est effectuée sur un seul champ et l'opération de tri est ascendante ou descendante car MongoDB peut traverser dans les deux sens.

Exemple: db.collection.createIndex ((«age»: 1))

3. Index composé

MongoDB prend en charge les index définis par l'utilisateur dans plusieurs champs. L'ordre des champs donnés dans l'indice composé est assez significatif. L'ordre de tri prend de gauche à droite, la priorité par rapport au premier champ mentionné dans les index composés est supérieure à celle du suivant.

Exemple: db.collection.createIndex (("age": 1, "dim.h": - 1)). Dans cet exemple, tous les documents avec le champ âge sont d'abord triés par ordre croissant puis par ordre décroissant de hauteur en dim.

4. Index multicolore

MongoDB utilise Multikey Index pour indexer des données au format tableau. Lors de l'indexation, chaque élément du tableau est créé un index distinct et les données sont indexées en fonction des éléments présents dans le tableau.MongoDB prend soin si le champ d'index contient un tableau par défaut.

5. Indice géospatial

MongoDB utilise l'indexation géospatiale pour rechercher des données en fonction de son emplacement. Il prend en charge deux types de recherche, 2D (deux dimensions) et 3D (trois dimensions). Ces index sont utilisés pour obtenir des résultats dans une plage. Le nombre de résultats de recherche peut également être limité en utilisant la fonction limit ().

Exemple: db.players.find ((loc: ($ near: ($ geometry: (type: “high_school”, sport: ”basketball” age: (14, 17)))))). Cet exemple trouvera toutes les entrées des élèves qui sont en lycée, jouent au basket et sont dans la tranche d'âge de 14 à 17 ans.

6. Index des textes

MongoDB fournit une indexation de texte pour prendre en charge les requêtes au format chaîne. L'index de texte peut avoir n'importe quel champ composé d'éléments de chaîne ou d'un tableau d'éléments de chaîne.
Exemple: db.movies.find (($ text: ($ search: «tom hardy»))). Cet exemple trouvera tous les documents qui portent des noms d'acteur comme tom hanks, tom felton, tom hiddelson ainsi que robert hardy et John Hardy. MongoDB prend la chaîne fournie pour la recherche et donne tous les documents qui contiennent une chaîne de recherche complète ou partielle.

7. Index haché

MongoDB utilise un index haché pour prendre en charge le partage. Le hachage des index calcule la valeur de hachage des champs d'index à l'aide d'une fonction de hachage. Il ne prend pas en charge l'indexation multi-clés (valeurs de tableau). Les index de hachage sont créés à l'aide de la fonction createIndex et la valeur du champ d'index doit toujours être «hachée».

Exemple: db.collection.createIndex ((: «haché»)) . Pour trouver les documents avec des valeurs de hachage, db.collection.find ((: Math.pow (2, 63))) renverra tous les documents avec des index de hachage dans la plage 2 63.

Options d'indexation

1. Index unique

Comme son nom l'indique, les index uniques sont de nature unique. MongoDB n'autorise pas les valeurs en double si un index est créé à l'aide de l'option «unique». Pour spécifier qu'un index est unique lors de la création de l'index, le format suivant doit être utilisé.

db.collection.createIndex (, (unique: vrai)) . Les contraintes uniques peuvent également être imposées sur l'index composé, l'index multi-clés et l'index de texte.

2. Index partiel

Les index partiels indexent les documents d'une collection en fonction d'un filtre ou d'une expression spécifique. Étant donné que les index partiels indexent, seul un sous-groupe des besoins en espace de collecte (mémoire) est moindre, ce qui entraîne également une baisse des performances.

Exemple :

db.pupils.createIndex ((name: 1), (partialFilterExpression: (age: ($ gt: 5)))
Expressions de filtre prises en charge:

  • $ gt, $ gte, $ lt, $ lte (supérieur, supérieur ou égal, inférieur et inférieur ou égal)
  • Opérateurs $ type
  • $ existe: opération vraie
  • Opérateur d'égalité ($ eq)
  • Opérations logiques et / ou

3. Indice TTL

TTL indexe un type spécial d'index à clé unique qui peuvent être supprimés de la collection MongoDB après un délai d'expiration ou à une heure d'horloge spécifique. utile.

Exemple:

db.log.createIndex ((«lastModifiedDate»: 1), (expireAfterSeconds: 10000))

4. Indice clairsemé

Les index épars indexent uniquement les documents contenant la valeur de champ de l'index. Il ignore tous les autres documents qui ne contiennent pas le champ. Par défaut, les index non clairsemés contiennent tous les documents des collections, avec null comme valeur pour les champs qui ne sont pas présents.

Exemple:

db.pupil.createIndex (("age": 1), (sparse: true))
L'index n'indexe pas les documents qui ne contiennent pas l'âge du champ.

5. Indice insensible à la casse

Les index insensibles à la casse sont utilisés pour prendre en charge les requêtes qui exécutent des comparaisons de chaînes sans aucun respect pour la sensibilité à la casse.

Exemple:

db.collection.createIndex ((«clé»: 1), (collation:))

Collation:

Le document de classement est utilisé pour spécifier les règles de langue, la casse, etc. pour la comparaison de chaînes.

Les documents de classement sont les suivants:

Conclusion - MongoDB crée un index

En conclusion, l'indexation est cruciale pour une exécution plus rapide des requêtes et une gestion de la mémoire. Les index peuvent être créés, modifiés selon les besoins des utilisateurs et supprimés lorsqu'ils ne sont pas nécessaires.

Articles recommandés

Ceci est un guide pour créer MongoDB Index. Nous discutons ici des types d'index et des options d'indexation ainsi que des exemples. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. Outils MongoDB
  2. Qu'est-ce que MongoDB?
  3. Réplication dans MongoDB
  4. Avantages de MongoDB