Comment démarrer avec MongoDB en 10 minutes

par Navindu Jayatilake

MongoDB est une base de données NoSQL riche et orientée documents.

Si vous êtes un débutant complet en NoSQL, je vous recommande de jeter un coup d’œil à mon article NoSQL publié précédemment.

Aujourd’hui, je voulais partager certaines des choses de base sur les commandes MongoDB telles que l’interrogation, le filtrage des données, la suppression, la mise à jour, etc.

D’accord, assez de discussions, mettons-nous au travail!

Configuration ?

Pour travailler avec MongoDB, vous devez d’abord installer MongoDB sur votre ordinateur. Pour ce faire, visitez le centre de téléchargement officiel et téléchargez la version pour votre système d’exploitation spécifique. Ici, j’ai utilisé Windows.

Après avoir téléchargé la configuration du serveur communautaire MongoDB, vous passerez par un processus d’installation « suivant après suivant ». Une fois cela fait, dirigez-vous vers le lecteur C dans lequel vous avez installé MongoDB. Allez dans fichiers de programme et sélectionnez le répertoire MongoDB.

C: -> Program Files -> MongoDB -> Server -> 4.0(version) -> bin

Dans le répertoire bin, vous trouverez quelques fichiers exécutables intéressants.

  • mongod
  • mongo

Parlons de ces deux fichiers.

mongod signifie « Démon Mongo ». mongod est un processus d’arrière-plan utilisé par MongoDB. Le but principal de mongod est de gérer toutes les tâches du serveur MongoDB. Par exemple, accepter des demandes, répondre au client et gérer la mémoire.

mongo est un shell en ligne de commande qui peut interagir avec le client (par exemple, les administrateurs système et les développeurs).

Voyons maintenant comment ce serveur peut être opérationnel. Pour ce faire sous Windows, vous devez d’abord créer quelques répertoires dans votre lecteur C. Ouvrez votre invite de commande dans votre lecteur C et procédez comme suit:

C:\> mkdir data/dbC:\> cd dataC:\> mkdir db

Le but de ces répertoires est que MongoDB nécessite un dossier pour stocker toutes les données. Le chemin du répertoire de données par défaut de MongoDB est /data/db sur le lecteur. Par conséquent, il est nécessaire que nous fournissions ces répertoires comme cela.

Si vous démarrez le serveur MongoDB sans ces répertoires, vous verrez probablement l’erreur suivante:

essayer de démarrer le serveur mongodb sans les répertoires \data\db

Après avoir créé ces deux fichiers, revenez au dossier bin que vous avez dans votre répertoire mongodb et ouvrez votre shell à l’intérieur ça. Exécutez la commande suivante :

mongod

Voilà ! Maintenant, notre serveur MongoDB est opérationnel ! ?

Pour travailler avec ce serveur, nous avons besoin d’un médiateur. Ouvrez donc une autre fenêtre de commande dans le dossier bind et exécutez la commande suivante:

mongo

Après avoir exécuté cette commande, accédez au shell que nous avons exécuté la commande mongod (qui est notre serveur). Vous verrez un message « connexion acceptée » à la fin. Cela signifie que notre installation et notre configuration sont réussies!

Exécutez simplement dans le shell mongo :

db
au départ, vous avez une base de données appelée ‘test’

Configuration des variables d’environnement

Pour gagner du temps, vous pouvez configurer vos variables d’environnement. Sous Windows, cela se fait en suivant les menus ci-dessous:

Advanced System Settings -> Environment Variables -> Path(Under System Variables) -> Edit

Copiez simplement le chemin de notre dossier bin et cliquez sur OK! Dans mon cas, c’est C:\Program Files\MongoDB\Server\4.0\bin

Maintenant vous êtes prêt!

Travailler avec MongoDB

Il existe un tas d’interfaces graphiques (Interface utilisateur graphique) pour travailler avec le serveur MongoDB telles que MongoDB Compass, Studio 3T et ainsi de suite.

Ils fournissent une interface graphique vous permettant de travailler facilement avec votre base de données et d’effectuer des requêtes au lieu d’utiliser un shell et de taper des requêtes manuellement.

Mais dans cet article, nous utiliserons l’invite de commande pour faire notre travail.

Il est maintenant temps pour nous de nous plonger dans les commandes MongoDB qui vous aideront à les utiliser avec vos futurs projets.

  1. Ouvrez votre invite de commande et tapez mongod pour démarrer le serveur MongoDB.

2. Ouvrez un autre shell et tapez mongo pour vous connecter au serveur de base de données MongoDB.

1. Trouver la base de données actuelle dans laquelle vous vous trouvez

db

Cette commande affichera la base de données actuelle dans laquelle vous vous trouvez. test est la base de données initiale fournie par défaut.

2. Liste des bases de données

show databases

J’ai actuellement quatre bases de données. Ils sont : CrudDBadminconfig et local.

3. Aller à une base de données particulière

use <your_db_name>

Ici, je suis passé à la local div > base de données. Vous pouvez vérifier cela si vous essayez la commande db pour imprimer le nom de la base de données actuelle.

4. Création d’une Base de Données

Avec des SGBDR (Systèmes de Gestion de Bases de Données Relationnelles), nous avons des Bases de Données, des Tables, des Lignes et des Colonnes.

Mais dans les bases de données NoSQL, telles que MongoDB, les données sont stockées au format BSON (une version binaire de JSON). Ils sont stockés dans des structures appelées « collections”.

Dans les bases de données SQL, celles-ci sont similaires aux tables.

Termes SQL et termes NoSQL par Victoria Malaya

D’accord, parlons de la façon dont nous créons une base de données dans le shell mongo.

use <your_db_name>

Attendez, nous avions cette commande avant! Pourquoi je l’utilise à nouveau?!

Dans le serveur MongoDB, si votre base de données est déjà présente, l’utilisation de cette commande naviguera dans votre base de données.

Mais si la base de données n’est pas déjà présente, alors le serveur MongoDB va créer la base de données pour vous. Ensuite, il y naviguera.

Après avoir créé une nouvelle base de données, l’exécution de la commande show database n’affichera pas votre base de données nouvellement créée. En effet, tant qu’il n’a pas de données (documents) dedans, il ne s’affichera pas dans votre liste de bases de données.

5. Création d’une collection

Naviguez dans votre base de données nouvellement créée avec la commande use.

En fait, il existe deux façons de créer une collection. Voyons les deux.

Une façon consiste à insérer des données dans la collection:

db.myCollection.insert({"name": "john", "age" : 22, "location": "colombo"})

Cela va créer votre collection myCollection même si la collection n’existe pas. Ensuite, il insérera un document avec name et age. Ce sont des collections non plafonnées.

La deuxième façon est indiquée ci-dessous:

2.1 Création d’une Collection Non plafonnée

db.createCollection("myCollection")

2.2 Création d’une Collection plafonnée

db.createCollection("mySecondCollection", {capped : true, size : 2, max : 2})

De cette façon, vous allez créer une collection sans insérer de données.

Une « collection plafonnée » a un nombre maximal de documents qui empêche le débordement de documents.

Dans cet exemple, j’ai activé le plafonnement, en définissant sa valeur sur true.

Le size : 2 signifie une limite de deux mégaoctets, et max: 2 définit le nombre maximum de documents à deux.

Maintenant, si vous essayez d’insérer plus de deux documents dans mySecondCollection et utilisez la commande find (dont nous parlerons bientôt), vous ne verrez que les documents les plus récemment insérés. Gardez à l’esprit que cela ne signifie pas que le tout premier document a été supprimé — il ne s’affiche tout simplement pas.

6. Insertion de données

Nous pouvons insérer des données dans une nouvelle collection ou dans une collection précédemment créée.

façons dont les données peuvent être stockées dans un JSON

Il existe trois méthodes d’insertion de données.

  1. insertOne() est utilisé pour insérer un seul document.
  2. insertMany() est utilisé pour insérer plusieurs documents.
  3. insert() est utilisé pour insérer autant de documents que vous le souhaitez.

Voici quelques exemples:

  • insertOne()
db.myCollection.insertOne( { "name": "navindu", "age": 22 })
  • insertMany()
db.myCollection.insertMany()

La méthode insert() est similaire à la méthode insertMany() méthode.

Notez également que nous avons inséré une nouvelle propriété appelée location sur le document pour John Doe. Donc, si vous utilisez find, vous ne verrez que pour john doe la propriété location est attachée.

Cela peut être un avantage en ce qui concerne les bases de données NoSQL telles que MongoDB. Il permet une évolutivité.

Données insérées avec succès

7. Interrogation des données

Voici comment vous pouvez interroger toutes les données d’une collection :

db.myCollection.find()
résultat

Si vous voulez voir ces données de manière plus propre, ajoutez simplement .pretty() à la fin. Cela affichera le document au format JSON joli imprimé.

db.myCollection.find().pretty()
résultat

Wait…In ces exemples venez-vous de remarquer quelque chose comme _id? Comment est-ce arrivé là?

Eh bien, chaque fois que vous insérez un document, MongoDB ajoute automatiquement un champ _id qui identifie de manière unique chaque document. Si vous ne voulez pas qu’il s’affiche, exécutez simplement la commande suivante

db.myCollection.find({}, _id: 0).pretty()

Ensuite, nous examinerons le filtrage des données.

Si vous souhaitez afficher un document spécifique, vous pouvez spécifier un seul détail du document que vous souhaitez afficher.

db.myCollection.find( { name: "john" })
résultat

Disons que vous ne voulez afficher que les personnes dont l’âge est inférieur à 25 ans. Vous pouvez utiliser $lt pour filtrer cela.

db.myCollection.find( { age : {$lt : 25} })

De même, $gt signifie supérieur à, $lte est « inférieur ou égal à”, $gte est « supérieur ou égal à” et $ne est « pas égal”.

8. Mise à jour des documents

Disons que vous voulez mettre à jour l’adresse ou l’âge de quelqu’un, comment pouvez-vous le faire? Eh bien, voyez l’exemple suivant:

db.myCollection.update({age : 20}, {$set: {age: 23}})

Le premier argument est le champ du document que vous souhaitez mettre à jour. Ici, je spécifie age pour la simplicité. Dans l’environnement de production, vous pouvez utiliser quelque chose comme le champ _id.

Il est toujours préférable d’utiliser quelque chose comme _id pour mettre à jour une ligne unique. En effet, plusieurs champs peuvent avoir les mêmes age et name. Par conséquent, si vous mettez à jour une seule ligne, cela affectera toutes les lignes qui ont le même nom et le même âge.

résultat

Si vous mettez à jour un document de cette façon avec une nouvelle propriété, disons location par exemple , le document sera mis à jour avec le nouvel attribut. Et si vous faites un find, alors le résultat sera:

result

Si vous devez supprimer une propriété d’un seul document, vous pouvez faire quelque chose comme ça (disons que vous voulez age à disparaître):

db.myCollection.update({name: "navindu"}, {$unset: age});

9. Suppression d’un document

Comme je l’ai mentionné précédemment, lorsque vous mettez à jour ou supprimez un document, il vous suffit de spécifier le _id pas seulement nameagelocation.

db.myCollection.remove({name: "navindu"});

10. Suppression d’une collection

db.myCollection.remove({});

Remarque, cela n’est pas égal à la méthode drop(). La différence est que drop() est utilisé pour supprimer tous les documents d’une collection, mais la méthode remove() est utilisée pour supprimer tous les documents ainsi que la collection elle-même.

Opérateurs logiques

MongoDB fournit des opérateurs logiques. L’image ci-dessous résume les différents types d’opérateurs logiques.

référence: MongoDB manual

Disons que vous voulez afficher des personnes dont l’âge est inférieur à 25 ans et dont l’emplacement est Colombo. Qu’est-ce qu’on pourrait faire ?

Nous pouvons utiliser l’opérateur $and !

db.myCollection.find({$and:});

Enfin et surtout, parlons d’agrégation.

Agrégation

Un rappel rapide sur ce que nous avons appris sur les fonctions d’agrégation dans les bases de données SQL:

fonctions d’agrégation dans les bases de données SQL. ref:Tutorial Gateway

En termes simples, l’agrégation regroupe les valeurs de plusieurs documents et les résume d’une manière ou d’une autre.

Imaginez si nous avions des étudiants masculins et féminins dans une collection recordBook et nous voulons un décompte total sur chacun d’eux. Afin d’obtenir la somme des mâles et des femelles, nous pourrions utiliser la fonction d’agrégat $group.

db.recordBook.aggregate();
résultat

Conclusion

Nous avons donc discuté de la bases de MongoDB dont vous pourriez avoir besoin à l’avenir pour créer une application. J’espère que vous avez apprécié cet article – merci d’avoir lu!



Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.