MongoDB Client: les outils GUI pour manipuler sa base de données ?

Rayed Benbrahim

Publié le 3 mai 2020

Parce qu'il n'est pas toujours évident de s'y retrouver dans les nombreuses lignes de commandes d'un terminal, de nombreux outils ont développé des clients ou des Graphic User Interfaces (GUI) afin d'aider les utilisateurs à manipuler un outil. MongoDB ne fait pas exception à la règle. En effet, il existe plusieurs MongoDB client disponible pour faciliter l'utilisation de cette technologie.

L'intérêt des MongoDB client pour un développeur

Après avoir installé MongoDB sur votre PC Windows, votre poste Linux ou sur votre mac, vous avez probablement testé le Mongo Shell. Ce terminal MongoDB vous permet de vous connecter et manipuler votre serveur de base de données et réaliser les opérations que vous souhaitez.

Voici à quoi ressemble le Mongo Shell. Il s'agit d'un terminal MongoDB demandant de l'expérience pour être utilisé correctement.

Voici à quoi ressemble le Mongo Shell. Il s'agit d'un terminal MongoDB demandant de l'expérience pour être utilisé correctement.

Seulement savoir manipuler toutes ces commandes demande de l'expérience, surtout pour des opérations critiques comme la modification ou suppression de documents, de collections ou de la base complète.

Le premier besoin lorsqu'on utilise de la donnée est de pouvoir la manipuler. Que ce soit en phase de développement, en pré-production et parfois en production (même si ça doit rester exceptionnel), un développeur a parfois besoin de venir modifier un objet. C'est là où un mongodb client va nous permettre de gagner du temps.

En effet, une opération critique comme la modification d'un objet va nécessiter au développeur de vérifier ce qu'il fait. S'il doit réaliser l'opération depuis son shell, il fera probablement une première requête pour récupérer le document:

db.collection.find({"name":"Rayed"})

Une fois qu'il est sûr d'avoir le bon document, il va pouvoir faire la requête de modification. Supposons qu'il doit modifier le prénom et enlever le champ "verified"

db.collection.updateOne({"name":"Rayed"}, {"name":"Fred", $unset: "verified"})

Pour une opération relativement simple, il a fallu prendre le temps de taper 2 requêtes. Imaginer qu'il faille accéder à une propriété imbriquée qui héberge un tableau de string et qu'il faille supprimer un élément du tableau ? La requête devient alors plus complexe. Il faudra probablement un peu de temps de recherche sur la documentation de Mongodb pour bien la rédiger.

Grâce à un mongodb client, vous pourrez accéder à votre document en un clic et modifier ce que vous souhaitez. Ce gain de temps va vous permettre de passer plus de temps à développer votre application plutôt qu'à manipuler vos données.

Les index sont critiques au bon fonctionnement d'une application qui vit. Lorsque vous développez votre application et que vous n'avez qu'une dizaine de documents dans votre collection, une opération recherche find ou findOne reste suffisamment rapide.

En revanche, lorsque votre application grandit et que vous avez maintenant plusieurs centaines ou milliers d'entrées, une recherche par "nom" va demander à MongoDB de parcourir l'ensemble des documents. On appelle ça un collectionScan.

Pour améliorer les performances de votre application, vous serez rapidement amenés à créer des index. Ces créations peuvent se faire dans votre code depuis votre application nodejs mongodb, depuis le mongo shell ou depuis votre mongodb client.

Grâce au Mongodb Client Compass, vous pouvez en un coup d'oeil visualiser et créer des index sur votre base de donnée

Visualisez les index de votre base de donnée directement depuis le Mongodb Client Compass

Dans votre mongodb gui vous verrez le nombre d'objets qui ont été indexés ainsi que la taille qu'ils représentent.

MongoDB client : les GUI pour gérer sa base de données

Pour vous aider dans la gestion de votre base de données, plusieurs clients Mongodb gui ont vu le jour:

MongoCompass est le Mongodb client officiel proposé par la société MongoDB. C'est le mongodb client le plus travaillé graphiquement et agréable à manipuler. Son interface est intuitive, même pour les débutants. Elle permet de performer les opérations de modifications sur vos documents et de performer des queries mongo directement depuis l'outil.

modification de document avec mongodb client

modification de document avec mongodb client

RoboMongo propose deux solutions Mongodb gui. Robo3T est la solution "Community" open source et l'édition Studui 3T, plus complète, pour entreprises. Anciennement connue sous le nom de Robomongo, ce mongodb gui a gagné sa popularité du fait qu'il ait été le premier sur le marché à proposer une solution légère et gratuite.

RoboMongo, aussi appelé Robo 3T, est un Mongodb Client compatible Windows, Mac et Linux.

Robo3T est un Mongodb Client compatible Windows, Mac et PC

Mongo Management Studio est un Mongodb client d'origine allemande, exploitant une fenêtre navigateur pour se connecter à votre base de données. Tout comme les deux autres mongodb client cités, MMS vous permet de manipuler vos données ou exécuter des queries ou des agrégations directement dans l'outil. Il est toutefois plus limité dans le sens où il ne prend pas en charge les versions de MongoDB supérieures à 3.4 là ou les deux autres prennent en charge les versions 4 et +.

Mongo Management studio est un GUI permettant de manipuler sa base de donnée et ses documents depuis un navigateur

Mongo Management Studio est un Mongodb client d'origine allemande, exploitant une fenêtre navigateur pour se connecter à votre base de données

Aller plus loin

Découvrez nos autres articles pour apprendre à manipuler MongoDB et devenir un meilleur développeur:

Derniers articles

Avoir des tests automatisés permet à une application d'être plus durable et résistante aux évolutions. Entre les tests unitaires, tests fonctionnels ou tests end-to-end, comment prioriser son temps de dev?

L'agent de développeur vous accompagne et vous informe tout au long de votre carrière pour vous aider à atteindre vos objectifs. Découvrez pourquoi faire appel à un agent

En tant que développeur backend, vous serez attendu sur plusieurs problématiques qui ne sont pas abordées lors des tutos ou des formations. Découvrez les points à travailler pour devenir un bon développeur backend.

Après un an de loyaux services, j'ai décidé de migrer de Wordpress vers une stack NextJS. Découvrez les enjeux d'une telle migration.

Pour devenir développeur employable après une reconversion, il va falloir continuer à travailler sur votre montée en compétences et assurer une veille techno active afin d'arriver au niveau nécessaire pour décrocher votre premier CDI. Découvrez comment prioriser les différentes notions tech pour monter en compétences efficacement

En tant que développeur spécialiste du data scraping, je suis régulièrement sollicité par des personnes ou des entreprises souhaitant automatiser certains processus. Le tutoriel d’aujourd’hui reprend l’un de ces projets, réalisé pour une startup qui cherchait à effectuer une veille automatisée via un bot Instagram.