Les dif­fé­rents modèles de bases de données SQL et NoSQL se dis­tin­guent aussi bien en matière de con­fi­gu­ra­tion 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 re­la­tion­nelles. 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é­sen­tent des si­mi­li­tudes : pour­sui­vez votre lecture avec l’article sur MongoDB : pré­sen­ta­tion et com­pa­rai­son 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’adap­ta­tion avec MongoDB, les experts en SQL ne ren­con­tre­ront gé­né­ra­le­ment pas de dif­fi­cul­tés par­ti­cu­lières. Le tutoriel MongoDB qui suit se penche sur l’ins­tal­la­tion, la con­fi­gu­ra­tion et l’ad­mi­nis­tra­tion de ce système de base de données moderne.

Étape 1 : l’ins­tal­la­tion

L’édition libre et en open source du « Community Server » tout comme les solutions com­mer­ciales pour en­tre­prises sont dis­po­nibles en té­lé­char­ge­ment sur la page of­fi­cielle de MongoDB. La première étape consiste à re­cher­cher et té­lé­char­ger les fichiers binaires pour votre système. Dans le mesure où MongoDB est mul­ti­pla­te­forme, de nombreux systèmes sont dis­po­nibles, que ce soit Windows, Linux, OS X ou encore Solaris. Sur Windows, la base de données est fa­ci­le­ment té­lé­char­geable à l’aide du fichier d’ins­tal­la­tion té­lé­chargé au préalable et installé dans le dossier de votre choix. Les uti­li­sa­teurs de Windows10 peuvent utiliser la version pour Windows Server 2008 (64-bit) à cette fin. Pour Linux et les autres systèmes d’ex­ploi­ta­tion, té­lé­char­gez un fichier d’archive comme à l’ac­cou­tu­mée et dézippez-le, puis installez le ges­tion­naire de pa­que­tages. En fonction de la dis­tri­bu­tion, vous im­por­te­rez le MongoDB Public GPG Key. Pour Ubuntu, cette clé d’au­then­ti­fi­ca­tion est né­ces­saire, 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 ges­tion­naire de pa­que­tages,

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'em­pla­ce­ment d'ins­tal­la­tion par défaut /var/lib/mongodb et le ré­per­toire log /var/log/mongodb peuvent être modifiés op­tion­nel­le­ment dans le dossier de con­fi­gu­ra­tion /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 re­dé­mar­rage. Pour vous assurer que MongoDB a été cor­rec­te­ment 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 con­fi­gu­ra­tion 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 fonc­tion­ne­ment, vous pouvez démarrer le client. Gé­né­ra­le­ment, c’est le script de commandes du client Mongo Shell obtenu et basé en Ja­vaS­cript qui est utilisé pour l’ad­mi­nis­tra­tion de la base de données tout comme l’accès à l’ac­tua­li­sa­tion des données. Démarrez le client avec le même système utilisé par l’ap­pli­ca­tion de MongoDB, avec la simple commande qui suit :

mongo

Mongo Shell va se connecter au­to­ma­ti­que­ment avec l’instance MongoDB en cours sur l’hôte local et le port 27017. Bien entendu, vous pouvez régler ces pa­ra­mètres de connexion pré­dé­fi­nis.

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

Pa­ra­mètres Des­crip­tion
--shell Active l’interface Shell, avec laquelle la fenêtre cor­res­pon­dante 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’uti­li­sa­teur 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 pa­ra­mètres pré­dé­fi­nis et n’ap­pa­rais­sent 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 con­cen­trer sur l’essentiel. Qu’il s’agisse de l’ins­tal­la­tion, de l’ex­ploi­ta­tion ou de la main­te­nance, IONOS garantit un fonc­tion­ne­ment fiable de vos bases de données hautes per­for­mances.

É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 trai­te­ment des données. Mais il convient tout d’abord de créer une base de données. A contrario, les col­lec­tions et les documents seront sau­ve­gar­dé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 ma­ba­se­de­don­nées, la commande sera la suivante :

use mabasededonnees

La commande use permet de sé­lec­tion­ner une base de données MongoDB déjà existante que vous pourrez utiliser pour le trai­te­ment des données. A l’aide de la commande db, vous pouvez vérifier quelle base de données est sé­lec­tion­née.

Etape 5 : créer une col­lec­tion

L’étape suivante consiste à créer une première col­lec­tion, c’est-à-dire un dossier pour vos dif­fé­rents documents BSON, dans lequel les données seront en­re­gis­trées ul­té­rieu­re­ment. La syntaxe de base ressemble à ceci :

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

La commande create compte deux pa­ra­mètres. Tout d’abord, le paramètre name (nom de la col­lec­tion) et options (options pour con­fi­gu­rer la col­lec­tion). Dans les options, vous pouvez définir par exemple si les documents d’une col­lec­tion doivent posséder une taille précise (capped: true) ou s’ils doivent avoir une quantité res­treinte de Bytes (size: <number>) ou encore une quantité limitée de documents (max: <number>). Une col­lec­tion nommée ma­col­lec­tion, une li­mi­ta­tion à 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 uni­que­ment été insérés pour assurer une meilleure li­si­bi­lité) :

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

Etape 6 : ajouter les documents dans la col­lec­tion

Après création du dossier, vous pouvez y insérer des documents. Trois méthodes dif­fé­rentes sont à votre dis­po­si­tion :

  • .insertOne()

  • .in­sert­Many()

  • .insert()

Les commandes vous per­met­tent d’insérer un seul document (.insertOne), plusieurs documents (.in­sert­Many) ou un ou plusieurs documents (.insert). L’exemple suivant permet un simple ajout dans la base de données qui regroupe trois in­for­ma­tions (nom, âge, sexe) et s’effectue dans le dossier ma­col­lec­tion de l’étape 5 :

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

MongoDB crée au­to­ma­ti­que­ment une col­lec­tion avec un iden­ti­fiant 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 mo­di­fi­ca­tions, il faut tout d’abord trouver votre dossier avec la commande find. Le paramètre optionnel query filter (filtre de recherche) et pro­jec­tion (spé­ci­fi­ca­tion 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 ac­tua­li­ser ce document, vous aurez recours à la fonction update. Celle-ci permet de définir les valeurs à changer. Choi­sis­sez 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é­ra­teurs de mises à jour sur la page de MongoDB.

Pour supprimer les documents d’une col­lec­tion, utilisez la commande remove :

db.macollection.remove ()

Il est également possible de supprimer un seul document de la col­lec­tion, en sé­lec­tion­nant des critères comme l’ID ou en dé­fi­nis­sant 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é­ci­fique au cours du processus de sup­pres­sion. La commande…

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

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

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

Vous trouverez des in­for­ma­tions sur l’ad­mi­nis­tra­tion, les pa­ra­mètres de sécurité, la dis­tri­bu­tion des données sur plusieurs systèmes d’autres do­cu­men­ta­tions utiles sur mongodb.com et dans le tutotiel MongoDB sur tu­to­rials­point.com.

Aller au menu principal