Vous êtes sur la page 1sur 18

9 Mongo overview

Comme tout autre langage de gestion de base de données, MongoDB est basé sur une base de données
NoSQL qui est utilisée pour stocker des données dans une paire clé-valeur. Son fonctionnement est basé sur
le concept de document et de collection. Il s'agit également d'un système de base de données
multiplateforme open-source, orienté document qui est écrit en C ++. Dans ce chapitre, vous en apprendrez
plus sur MongoDB et son importance.

Mongo DB peut être défini comme un système de base de données orienté document qui utilise le concept
de NoSQL. Il offre également une haute disponibilité, des performances élevées et une mise à l'échelle
automatique. Ce produit open-source a été développé par la société - 10gen en octobre 2007, et la société le
maintient également. MongoDB existe sous la licence publique générale (GPL) en tant qu'outil de gestion de
base de données gratuit et disponible sous licence commerciale du fabricant. MongoDB était également
destiné à fonctionner avec des serveurs de base. Des entreprises de tailles différentes dans le monde entier
dans toutes les industries utilisent MongoDB comme base de données.

Voici quelques terminologies clés que vous devez connaître pour approfondir MongoDB:

Qu'est-ce qu'une base de données ?

Dans MongoDB, une base de données peut être définie comme un conteneur physique pour les collections
de données. Ici, sur le système de fichiers, chaque base de données a sa collection de fichiers résidant.
Habituellement, un serveur MongoDB contient de nombreuses bases de données.

Quelles sont les collections?

Les collections peuvent être définies comme un cluster de documents MongoDB qui existent dans une seule
base de données. Vous pouvez associer cela à celui d'une table dans un système de gestion de base de
données relationnelle. Les collections MongoDB n'implémentent pas le concept de schéma. Les documents
qui ont une collection contiennent généralement différents champs. En règle générale, tous les documents
résidant dans une collection sont destinés à un usage comparable ou connexe.

Qu'est-ce qu'un document

Un document peut être défini comme une collection de paires clé-valeur qui contiennent un schéma
dynamique. Le schéma dynamique est quelque chose que les documents de la même collection ne
nécessitent pas pour avoir la même collection de champs ou de construction, et un champ commun est
capable de contenir différents types de données.

Pourquoi utiliser MongoDB?

Les débutants doivent connaître le but et l'exigence de pourquoi utiliser MongoDB ou quel est son besoin
contrairement à SQL et à d'autres systèmes de base de données. En termes simples, on peut dire que
chaque application moderne implique le concept de Big Data, l'analyse de différentes formes de données,
l'amélioration rapide des fonctionnalités dans la gestion des données, la flexibilité de déploiement, que les
anciens systèmes de base de données ne sont pas suffisamment compétents pour gérer. Par conséquent,
MongoDB est le choix suivant.
Voici une liste de quelques sociétés et organisations populaires et multinationales qui utilisent MongoDB
comme base de données officielle pour exécuter et gérer différentes applications commerciales.

Adobe, McAfee, LinkedIn, FourSquare, MetLife, eBay, Google etc.

9.1 Guide d'installation du Mongo DB:

1. aller sur le site

https://www.mongodb.com/download-center/community?tck=docs_server

choisissez les paramètres suivants et cliquez sur download

2. ouvrez le ficher téléchargé et cliquez sur Next.

le nom du fichier est par exemple mongodb-win32-x86_64-2012plus-4.2.6-signed.msi", il varie selon


les paramètres choisis.
3. Cochez "I accept the terms...." puis Cliquez sur next

4. Choisissez "Complete" et puis Next


Il est fortement conseillé de garder ces paramètres par défaut. Si vous voulez les modifiez, gardez vos
paramètres personnalisés quelques parts.

5.Allez jusqu'au bout, un redémarrage est attendu à la fin de l'installation


9.2 Vérification

Après le redémarrage, vérifions d'abord les choses suivantes :

1. le service Mongo est bien démarré

Si c'est le cas, le coeur du Mongo (Mongo server) est bien installé et bien démarré.
2. Exécuter mongo dans un environnement de shell.

1. Ouvrez un terminal de windows en tapant "cmd" dans la barre de recherche de windows


2. tapez "cd C:\Program Files\MongoDB\Server\4.2\bin", le home directory de votre installation

3. tapez ensuite mongo puis enter


Si vous avez un message similaire au celui du ci-dessus, vous avez donc réussi à le démarrer.

Nous allons faire une dernière configuration avant de l'utiliser


Nous pouvons donc dès maintenant exécuter mongo à partir de n'importe quel directory.
9.3 Utilisation

MongoDB stocke les documents dans des collections. Les collections sont analogues
aux tables des bases de données relationnelles.

les databases contiennent des collections de documents.

Tapez "show dbs" (show databases), puis "enter", vous verrez une liste de databases qui sont déjà créées
par défaut.

Passons maintenant au client du Mongo pour pouvoir manipuler avec une interface graphique. Ouvrez
"MongoDB Compass" et vous allez voir l'interface suivante

et appuyez sur Connect. Si vous avez un autre serveur Mongo, sur lequel vous pouvez vous connecter à
travers un string de url, user et mot de passe. Nous sommes ici en mode locolhost sans mdp, vous pouvez
donc vous connecter directement sur le serveur tourné sur votre propre machine.
Nous pouvons voir les trois mêmes databases que nous avons vues précédemment dans un terminal.

Ajouter une database "Test1" avec une collection products

vous pouvez voir de la même façon dans le terminal que nous avons maintenant 4 databases, y compris
Test1
9.4 Insert

Insérons un premier document dans Test1, soit dans le client de Mongo soit par une ligne de commande
dans un terminal
Vous pouvez saisir votre document sous format de json ou key-value

Dans un terminal:
tapez dans l'ordre les commandes suivantes

* use Test1
* show collections
//afin de vérifier que vous êtes bien dans la database Test1
* db.products.insert({
category:"book",
name:"Harry Potter 2"
})
Remarque: les attributs (ex: category et name) sont souvent entourées de guillemets. car ce sont des
conventions de javascript et json. on a en expliquer plus dans les prochains chapitres. Mais Mongo
sait lire sans guillemets, on omet parfois ces guillemets pour simplifier les requêtes qui sont
considérer comme une chaine de caractères au lieu d'un fichier json . En revanche, si on prépare
un document ou une requête via "import", il est obligatoire d'en ajouter, même des fois ça peut
passer.

Nous avons ainsi réussi à insérer deux documents dans la collection product de la base Test1

9.5 Read

Essayons maintenant d'utiliser la méthode find() d'une collection qui permets de lire et afficher les
documents dans une collection donnée.

Syntaxe:

db.collection_name.find( query** ,** projection )

query = condition de filtrage, OPTIONEL et du type document


Projection = les champs à afficher dans le résultat retourné, OPTIONEL et du type document.

Exemple: (à essayer dans le terminal)

db.products.find()

Afficher tous les documents dans la courante collection


db.products.find().pretty()

Afficher tous les documents avec un format plus lisible en séparant les champs

db.products.find({category:"book"})

Afficher tous les documents ayant une propriété "category" égale à "book"

* query = {category:"book"}, projection = vide dans cet exemple

db.products.find({category:{$ne:"book"}})

Afficher tous les documents ayant une propriété "category" différent de "book"

query = {category:{$ne:"book"}}

projection = vide
db.products.find({}, {name:true})

Afficher le "name" de tous les documents

query = vide

projection = {name:true}

db.products.find({category:{$ne:"book"}})

Afficher tous les documents ayant une propriété "category" = "book" et une quantité "qty" = 10.

query = {category:"book", qty: 10}, il y a donc bien deux conditions composées


projection = vide

9.6 Supression d'une collection et d'une database

Pour supprimer une collection dans MongoDB, vous devez utiliser la méthode collection.drop (). Cela
éliminera complètement la collection de la base de données et ne laissera aucun index connecté à cette
collection de dépôt. Il est également à noter que cette méthode de suppression de collection ne contient
aucun argument et apparaîtra avec des erreurs au cas où des arguments seraient transmis. Tous les index
associés à la collection sont supprimés une fois cette méthode exécutée.

La syntaxe pour utiliser cette méthode est:

db.collection_name.drop ()

Voici un exemple qui montre l'utilisation de la méthode drop ():

En reprenant l'exemple précédent où vous avez créé une collection dans la base de données Test1. Utilisez
maintenant cette base de données pour supprimer la collection de products et voir les modifications:

use Test1
db.products.drop()
show collections
Voici un exemple de output dans un terminal:

Vous aimerez peut-être aussi