Bien que l’interface graphique apporte un certain confort, Mongo Shell, lorsque vous le maitrisez, vous permet d’aller bien plus vite dans vos requêtes. Dans cet article, nous allons voir quelles sont les commandes Mongo Shell à connaître pour être performant
Manipuler votre base de données MongoDB peut se faire depuis votre terminal, grâce au Mongo Shell, ou depuis une interface graphique telle que MongoDB Compass.
Exemple de requête sur le Shell Mongo
Bien que l’interface graphique apporte un certain confort, Mongo Shell, lorsque vous le maitrisez, vous permet d’aller bien plus vite dans vos requêtes.
Dans cet article, nous allons voir quelles sont les commandes Mongo Shell à connaître pour être performant:
Accéder au Mongo Shell
Comment se connecter au Mongo Shell en local ?
Avant toute chose, assurez-vous d’avoir installé correctement MongoDB sur votre machine. Si ce n’est pas déjà fait, vous pouvez vous référer aux guides d’installation suivant votre OS:
Pour accéder au Mongo Shell, tapez la commande suivante:
mongo
Accédez au shell mongo avec la commande « mongo »
Vous avez maintenant accès au Mongo Shell de votre MongoDB local.
Comment se connecter au Mongo Shell de MongoDB Atlas?
Il se peut que vous souhaitiez accéder au Mongo Shell d’une instance mongoDB hébergée sur MongoDB Atlas, le service cloud de MongoDB.
Commencez par aller récupérer l’URL de connexion depuis votre interface MongoDB Atlas:
Dans le cas d’une DBaaS chez Mongo Atlas, connectez vous à votre espace pour récupérer la string de connexion au shell à distance
Retournez sur votre terminal et collez la connection string fourni par Atlas juste après la commande mongo
mongo "votreConnectionString"
Pour vous connecter à un shell à distance, tapez la commande « mongo » suivie de votre connection string
Les opérations Mongo Shell sur la base de données
Une fois connecté au Shell, vous pouvez exécuter des requêtes MongoDB:
Comment lister les bases de données existantes ?
Pour lister les bases de données existantes, utilisez la commande suivante:
show dbs
Cette commande va vous lister l’ensemble des bases de données stockées sur votre instance MongoDB ainsi que le poids total de chacune d’entre elles:
Mongo Shell: Comment créer une base de données?
En SQL, il faut d’abord créer une base de données en utilisant CREATE DATABASE
avant de l’utiliser via la commande USE nomDeLaBaseDeDonnées
.
Dans le Mongo Shell, vous utiliserez seulement la commande use nomDeLaBDD
. Si celle-ci existe, il va la sélectionner, sinon il va la créer.
Pour vérifier que votre base de données est bien créée, vous pouvez saisir la commande db
dans le shell.
Celle-ci devrait vous retourner le nom de la base de données nouvellement créée.
Pour supprimer une base de données de votre instance MongoDB, il faut dans un premier temps la sélectionner en utilisant la commande use nomDeLaBDD
. Vous pourrez ensuite utiliser la méthode dropDatabase()
pour l’effacer.
À l’issue de l’opération, MongoDB vous affichera le nom de la base de données effacée et le statut. S’il est à 1, c’est que la base de données a correctement été supprimée.
Vous pouvez vérifier en utilisant la commande show dbs
pour vous assurer qu’elle ne contient plus la base de données que vous vouliez supprimer.
Mongo Shell: les opérations sur les collections
Comment lister les collections présentes?
Pour avoir une liste rapide des collections contenues dans la base de données vous pouvez utiliser la commande.
show collections
Si vous souhaitez en revanche avoir plus de détail sur chaque collection, vous pouvez utiliser la commande db.getCollectionInfos()
Cette commande vous donnera des informations plus détaillées sur votre collection, notamment les index.
Comment créer une collection ?
Pour créer une collection depuis le Mongo Shell, utilisez la commande
db.createCollection('nomDeLaCollection')
Vous pouvez également passer une série d’options pour définir plus spécifiquement certaines règles pour cette collection.
Comment effacer une collection?
Pour supprimer une collection:
db.nomDeLaCollection.drop()
Cette commande effacera la collection et les items qu’elle contient.
Comment lister les index sur la collection ?
Pour améliorer les performances des requêtes, une collection peut avoir plusieurs index. Afin de récupérer la liste de ces index vous pouvez utiliser la commande suivante:
db.nomDeLaCollection.getIndexes()
Comment créer un index sur la collection ?
Pour créer un index, utilisez la méthode:
db.nomDeLaCollection.createIndex({clés}, options)
Dans cet exemple, j’ai créé un index composé du champ name
et du champ slug.
Si vous voulez en créer plusieurs d’un coup, vous avez également la méthode:
db.nomDeLaCollection.createIndexes()
La création d’index est une opération délicate sur laquelle il ne vaut mieux pas se tromper. Vous pouvez utiliser la commande du Mongo Shell mais si vous n’êtes pas très à l’aise avec les commandes shell, je vous suggère d’envisager l’interface graphique sur Mongo Compass ou l’interface web de MongoDB Atlas.
Comment supprimer un index sur la collection ?
Si vous voulez en supprimer un index de la collection, utilisez la méthode:
db.nomDeLaCollection.dropIndex("nomDeIndex")
Il faudra récupérer le nom de l’index en faisant un getIndexes()
pour pouvoir l’utiliser dans votre requête de suppression.
Les requêtes sur les documents
Maintenant que vous savez manipuler le Shell, vous pouvez exécuter toutes les requêtes MongoDB. Je vous invite à consulter l’article concernant les requêtes MongoDB à connaître pour manipuler les documents.