Tutoriel MongoDB : installation et premiers pas

Les différents modèles de bases de données SQL et NoSQL se distinguent aussi bien en matière de configuration que de prise en main. Le logiciel open source MongoDB confirme le fait que les solutions NoSQL ne sont pas aussi étendues que les systèmes de bases de données relationnelles. Cette base de données orientée documents se démarque du classique MySQL qui permet un stockage flexible des données. Néanmoins, les deux modèles présentent des similitudes : poursuivez votre lecture avec l’article sur MongoDB : présentation et comparaison avec MySQL du Digital Guide IONOS.

Bien que le langage de requête et la syntaxe générée sur commande nécessite un certain temps d’adaptation avec MongoDB, les experts en SQL ne rencontreront généralement pas de difficultés particulières. Le tutoriel MongoDB qui suit se penche sur l’installation, la configuration et l’administration de ce système de base de données moderne.

Étape 1 : l’installation

L’édition libre et en open source du « Community Server » tout comme les solutions commerciales pour entreprises sont disponibles en téléchargement sur la page officielle de MongoDB. La première étape consiste à rechercher et télécharger les fichiers binaires pour votre système. Dans le mesure où MongoDB est multiplateforme, de nombreux systèmes sont disponibles, que ce soit Windows, Linux, OS X ou encore Solaris.

Sur Windows, la base de données est facilement téléchargeable à l’aide du fichier d’installation téléchargé au préalable et installé dans le dossier de votre choix. Les utilisateurs de Windows10 peuvent utiliser la version pour Windows Server 2008 (64-bit) à cette fin. Pour Linux et les autres systèmes d’exploitation, téléchargez un fichier d’archive comme à l’accoutumée et dézippez-le, puis installez le gestionnaire de paquetages. En fonction de la distribution, vous importerez le MongoDB Public GPG Key. Pour Ubuntu, cette clé d’authentification est nécessaire, c’est pourquoi vous aurez à saisir la commande suivante :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

Par la suite, mettez à jour la liste du gestionnaire de paquetages,

sudo apt-get update

… et installez MongoDB, ainsi que les outils de gestions.

sudo apt-get install -y mongodb-org

Étape 2 : démarrage du serveur MongoDB

L'emplacement d'installation par défaut /var/lib/mongodb et le répertoire log /var/log/mongodb peuvent être modifiés optionnellement dans le dossier de configuration /etc/mongod.conf. A l’aide de la commande suivante, démarrez la base de données :

sudo service mongod start

A la place d’utiliser le paramètre start, utilisez le paramètre stop. Arrêtez l’exécution de la base de données, restart veillera au redémarrage. Pour vous assurer que MongoDB a été correctement redémarré, il suffit de vérifier dans le fichier log /log/mongodb/mongod.log :

[initandlisten] waiting for connections on port <port>

Cette ligne vous dévoile si le serveur de la base de données est en service et que la connexion entrante sur le port (<port>) défini dans le fichier de configuration est prête. De manière standard, c’est le port 27017 qui est utilisé.

Étape 3 : démarrage du client

Lorsque le serveur MongoDB est en fonctionnement, vous pouvez démarrer le client. Généralement, c’est le script de commandes du client Mongo Shell obtenu et basé en JavaScript qui est utilisé pour l’administration de la base de données tout comme l’accès à l’actualisation des données. Démarrez le client avec le même système utilisé par l’application de MongoDB, avec la simple commande qui suit :

mongo

Mongo Shell va se connecter automatiquement avec l’instance MongoDB en cours sur l’hôte local et le port 27017. Bien entendu, vous pouvez régler ces paramètres de connexion prédéfinis.

Le tableau ci-dessous énumère les réglages que vous pouvez appliquer :

Paramètres

Description

--shell

Active l’interface Shell, avec laquelle la fenêtre correspondante s’affiche suite à l’exécution d’une commande.

--nodb

Permet d’éviter que Mongo Shell se connecte à une base de données.

--port <port>

Définit le port pour la connexion.

--host <hostname>

Définit l’hôte pour la connexion.

--help oder -h

Affiche les options.

--username <username> oder -u <username>

Si les droits d’accès sont définis, connectez-vous de cette manière avec le nom d’utilisateur respectif (<username>).

--password <password> oder -p <password>

Si les droits d’accès sont définis, connectez-vous de cette manière avec le mot de passe respectif (<password>).

Les balises utilisées ne font pas partie des paramètres prédéfinis et n’apparaissent donc pas sur la commande finale. Cela signifie par exemple que la saisie ressemble comme suit si vous désirez choisir le port 40000 plutôt que le port 27017 :

mongo --port 40000
Conseil : Managed MongoDB de IONOS

Avec Managed MongoDB from IONOS, vous pouvez vous concentrer sur l’essentiel. Qu’il s’agisse de l’installation, de l’exploitation ou de la maintenance, IONOS garantit un fonctionnement fiable de vos bases de données hautes performances.

Étape 4 : créer une base de données

Dès lors que MongoDB et le client sont exécutés, vous pouvez passer à la gestion et au traitement des données. Mais il convient tout d’abord de créer une base de données. A contrario, les collections et les documents seront sauvegardés dans la base de données test créée par défaut. Pour créer une base de données, utilisez la commande use. Si vous désirez par exemple créer une base de données appelée mabasededonnées, la commande sera la suivante :

use mabasededonnees

La commande use permet de sélectionner une base de données MongoDB déjà existante que vous pourrez utiliser pour le traitement des données. A l’aide de la commande db, vous pouvez vérifier quelle base de données est sélectionnée.

Etape 5 : créer une collection

L’étape suivante consiste à créer une première collection, c’est-à-dire un dossier pour vos différents documents BSON, dans lequel les données seront enregistrées ultérieurement. La syntaxe de base ressemble à ceci :

db.createCollection(<name>, { options } )

La commande create compte deux paramètres. Tout d’abord, le paramètre name (nom de la collection) et options (options pour configurer la collection). Dans les options, vous pouvez définir par exemple si les documents d’une collection doivent posséder une taille précise (capped: true) ou s’ils doivent avoir une quantité restreinte de Bytes (size: <number>) ou encore une quantité limitée de documents (max: <number>). Une collection nommée macollection, une limitation à 6.142.800 Bytes et un maximum de 10 000 documents seraient définis à titre d’exemple avec la commande suivante (les espaces entre les éléments ont uniquement été insérés pour assurer une meilleure lisibilité) :

db.createCollection ("macollection", { capped: true,
    size: 6142800,
    max: 10000 } )

Etape 6 : ajouter les documents dans la collection

Après création du dossier, vous pouvez y insérer des documents. Trois méthodes différentes sont à votre disposition :

  • .insertOne()

  • .insertMany()

  • .insert()

Les commandes vous permettent d’insérer un seul document (.insertOne), plusieurs documents (.insertMany) ou un ou plusieurs documents (.insert). L’exemple suivant permet un simple ajout dans la base de données qui regroupe trois informations (nom, âge, sexe) et s’effectue dans le dossier macollection de l’étape 5 :

db.lamiacollezione.insertOne(
{
        Nome: "Nome",
        Età: 28,
        Sesso: "maschile"
    }
)

MongoDB crée automatiquement une collection avec un identifiant unique.

Etape 7 : gestion des documents

La dernière étape de notre tutoriel MongoDB porte sur la gestion de base des documents déposés dans le dossier. Avant de pouvoir effectuer des modifications, il faut tout d’abord trouver votre dossier avec la commande find. Le paramètre optionnel query filter (filtre de recherche) et projection (spécification des résultats d’affichage) peuvent être utilisés également. Pour ouvrir et trouver le dossier souhaité, effectuez la commande suivante :

db.macollection.find( { Nom: "Name", Age: 28 } )

Si vous souhaitez actualiser ce document, vous aurez recours à la fonction update. Celle-ci permet de définir les valeurs à changer. Choisissez un update operator (commande de mises à jour) et saisissez la nouvelle valeur à modifier. Si vous souhaitez par exemple changer le champ « âge », vous aurez recours à l’opérateur $set :

db.macollection.update( 
{ Age: 28 },
{
    $set: { Age: 30 }
}
)

Découvrez d’autres opérateurs de mises à jour sur la page de MongoDB.

Pour supprimer les documents d’une collection, utilisez la commande remove :

db.macollection.remove ()

Il est également possible de supprimer un seul document de la collection, en sélectionnant des critères comme l’ID ou en définissant des valeurs précises afin de signaler à MongoDB de quels éléments il s’agit dans la base de données. Plus vous serez précis, plus le système de base de données sera spécifique au cours du processus de suppression. La commande…

db.macollection.remove ( { Age: 28 } )

…supprimera toutes les saisies dont le champ « âge » a une valeur égale à 28. Vous pouvez aussi définir la suppression du premier élément concerné avec le paramètre justOne-Parameter (1) :

db.macollection.remove ( { Age: 28 }, 1 )

Vous trouverez des informations sur l’administration, les paramètres de sécurité, la distribution des données sur plusieurs systèmes d’autres documentations utiles sur mongodb.com et dans le tutotiel MongoDB sur tutorialspoint.com.