Comme pour toute base de données, les index sont des structures de données essentielles dans MongoDB. Ils facilitent les requêtes de base de données et vous permettent de stocker et d'organiser une partie de votre collection dans des champs uniques. Les index prennent également en charge les requêtes de plage sans accroc.

Si votre application utilise MongoDB, vous souhaitez tirer parti de la puissance des index pour rendre vos requêtes plus rapides et plus efficaces. Alors, que sont les index dans MongoDB, et comment pouvez-vous les créer ?

Que sont les index dans MongoDB ?

Les index dans MongoDB vous permettent de hiérarchiser certains champs d'un document et de les transformer ultérieurement en paramètres de requête. Lors de la création d'une collection, MongoDB crée un index d'ID par défaut. Mais vous pouvez en ajouter plus si vous avez des requêtes plus importantes ou des besoins d'arrangement.

Les index uniques empêchent également les doublons lors de la saisie des données. Ils sont utiles pour rejeter les entrées qui existent déjà dans la base de données. Ainsi, vous pouvez utiliser une indexation unique sur les noms d'utilisateur et les champs d'e-mail, par exemple.

instagram viewer

Les index vous aident à saisir spécifiquement ce que vous voulez en utilisant votre format de requête défini à la quantité requise sans numériser une collection entière. Lors de la création d'un index, vous pouvez spécifier comment vous souhaitez que vos données soient triées chaque fois que vous l'interrogez.

Par exemple, si vous décidez de trier les points de données par leurs dates d'entrée sans utiliser d'index, vous fournirez généralement des critères de requête et un ordre de tri.

Supposons que vous souhaitiez organiser les âges supérieurs à un certain nombre en fonction de leur date d'entrée décroissante. Votre requête ressemble généralement à ceci :

db.collectionName.find({age: {$gt: 50}}).sort({date: -1})

Mais si vous aviez un index sur les dates d'entrée, vous n'auriez qu'à fournir les critères de requête. C'est parce que vous auriez déjà trié la date par ordre décroissant lors de la création de l'index.

Dans ce cas, la requête ci-dessus devient :

db.collectionName.find({âge: {$gt: 50}})

Comment créer un index dans MongoDB

Vous pouvez créer des index dans MongoDB à l'aide de son interface shell intégrée. C'est donc ce que nous allons utiliser dans ce tutoriel.

Néanmoins, les index n'existent pas seuls. Vous devez avoir créé une base de données et une collection avant de pouvoir créer un index.

Comme nous l'avons mentionné précédemment, une caractéristique importante de l'indexation est qu'elle vous permet de spécifier des critères de tri lors de la création de l'index.

Par exemple, un index qui classe l'âge dans l'ordre inverse ressemble à ceci :

db.userCollection.createIndex({âge: -1})

L'entier négatif (-1) dans le code indique à MongoDB d'organiser l'âge dans un ordre inverse chaque fois que vous interrogez des données à l'aide du âge indice. Ainsi, vous n'aurez peut-être pas besoin de spécifier un ordre de tri lors des requêtes, car l'index le gère déjà.

Pour créer un index du même champ par ordre croissant, remplacez -1 avec 1:

db.userCollection.createIndex({âge: 1})

Bien qu'il existe d'autres types d'index dans MongoDB, voici comment créer les formulaires simples et composés, car ils sont les plus utilisés.

Mais avant de continuer, assurez-vous d'avoir mettre en place une MongoDB serveur sur votre PC. Si vous l'avez déjà fait, ouvrez le shell MongoDB et suivez-le.

Créer un index unique dans MongoDB

L'indexation unique dans MongoDB est simple. Pour commencer, sélectionnez une base de données qui contient déjà des collections.

Disons que le nom de notre base de données est MUO:

utiliser MUO

Une fois que vous avez choisi une base de données, utilisez le createIndex() commande dans le shell pour créer un index unique.

Par exemple, pour créer un index de nom d'utilisateur unique dans une collection et l'utiliser pour interroger dans l'ordre inverse :

db.collectionName.createIndex({nom d'utilisateur: -1})

Indexation multi-clés dans MongoDB

Les index multi-clés sont utiles pour indexer un champ dans un tableau de données complexe. Par exemple, une collection peut contenir des données complexes d'utilisateurs avec leurs informations dans un autre tableau. Par exemple, dites le nom, la taille et l'âge.

Vous pouvez créer un index multi-clés sur la hauteur de chaque utilisateur dans ce tableau comme ceci :

db.customers.createIndex({user.height: 1})

le la taille dans le code ci-dessus est un sous-ensemble du utilisateur domaine.

Créer un index composé

Un index composé contient plusieurs index. Pour créer un index composé d'adresse et de type de produit sur une collection client, par exemple :

db.customer.createIndex({adresse: 1, produits: 1})

Puisque vous n'avez pas fourni de nom lors de la création de l'index ci-dessus, MongoDB en crée un par défaut. Mais il sépare le nom de chaque index par un trait de soulignement. C'est donc moins lisible, surtout si vous avez plus de deux index dans un composé.

Pour spécifier un nom lors de la création d'un index composé :

db.customers.createIndex({emplacement: 1, produits: 1, poids: -1}, {nom: "myCompundIndex"})

Obtenir tous les index d'une collection

Pour afficher tous les index d'une collection :

db.collectionName.getIndexes()

Le code ci-dessus génère tous les index dans une collection nommée.

Organisez votre base de données avec des index

L'indexation dans MongoDB réduit la latence d'exécution lors de l'exécution de requêtes simultanées. De plus, ils vous aident à organiser votre base de données et à la rendre plus accessible. Comme vous l'avez vu, la création d'index dans MongoDB n'est pas complexe, après tout. Les exemples ici sont suffisants pour vous aider à démarrer avec la création d'index. Néanmoins, pour voir vos index en pratique, vous devez savoir comment les requêtes fonctionnent dans MongoDB.

Comment effectuer des opérations CRUD dans MongoDB

Apprendre à connaître MongoDB est délicat. Frappez le sol en courant avec CRUD.

Lire la suite

PartagerTweeterE-mail
Rubriques connexes
  • La programmation
  • Python
  • La programmation
  • base de données
A propos de l'auteur
Idowu Omisola (119 articles publiés)

Idowu est passionné par tout ce qui concerne les technologies intelligentes et la productivité. Pendant son temps libre, il joue avec le codage et passe à l'échiquier quand il s'ennuie, mais il aime aussi de temps en temps rompre avec la routine. Sa passion pour montrer aux gens la voie à suivre avec la technologie moderne le motive à écrire davantage.

Plus de Idowu Omisola

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner