MongoDBDémarrer avec MongoDB


Remarques

  • Les données dans le monde ont commencé à croître énormément après la mise sur le marché des applications mobiles. Cette énorme quantité de données est devenue presque impossible à gérer avec la base de données relationnelle traditionnelle - SQL. Des bases de données NoSQL sont introduites pour gérer les données pour lesquelles beaucoup plus de flexibilité est apparue comme un nombre variable de colonnes pour chaque donnée.
  • MongoDB est l'une des principales bases de données NoSQL. Chaque collection contient un certain nombre de documents JSON. Tout modèle de données pouvant être exprimé dans un document JSON peut être facilement stocké dans MongoDB.
  • MongoDB est une base de données serveur-client. Le serveur s'exécute généralement avec le fichier binaire mongod et le client s'exécute avec mongo .
  • Il n'y a pas d'opération de jointure dans MongoDB avant la v.3.2, pour diverses raisons philosophiques et pragmatiques . Mais le shell Mongo supporte le javascript, donc si $ lookup n'est pas disponible, on peut simuler des opérations de jointure sur des documents en javascript avant de les insérer.
  • Pour exécuter une instance dans un environnement de production, il est fortement recommandé de suivre la liste de contrôle des opérations .

Versions

Version Date de sortie
3.4 2016-11-29
3.2 2015-12-08
3.0 2015-03-03
2.6 2014-04-08
2.4 2013-03-19
2.2 2012-08-29
2.0 2011-09-12
1.8 2011-03-16
1.6 2010-08-31
1.4 2010-03-25
1.2 2009-12-10

Commandes de base sur la coquille mongo

Afficher toutes les bases de données disponibles:

show dbs;
 

Sélectionnez une base de données particulière à laquelle accéder, par exemple mydb . Cela créera mydb s'il n'existe pas déjà:

use mydb;
 

Afficher toutes les collections de la base de données (veillez à en sélectionner une, voir ci-dessus):

show collections; 
 

Affiche toutes les fonctions pouvant être utilisées avec la base de données:

db.mydb.help();
 

Pour vérifier votre base de données sélectionnée, utilisez la commande db

> db
mydb
 

db.dropDatabase() commande db.dropDatabase() permet de supprimer une base de données existante.

db.dropDatabase()
 

Conditions complémentaires

Termes SQL Termes MongoDB
Base de données Base de données
Table Collection
Entité / Ligne Document
Colonne Clé / champ
Table Join Documents intégrés
Clé primaire Clé primaire (clé par défaut _id fournie par mongodb lui-même)

Exécution d'un fichier JavaScript dans MongoDB

./mongo localhost:27017/mydb myjsfile.js
 

Explication: Cette opération exécute le script myjsfile.js dans un shell mongo qui se connecte à la base de données mydb sur l'instance mongod accessible via l'interface localhost sur le port 27017 . localhost:27017 n'est pas obligatoire car c'est le port par défaut utilisé par mongodb .

En outre, vous pouvez exécuter un fichier .js depuis la console mongo .

>load("myjsfile.js")
 

Bonjour le monde

Après l'installation, les lignes suivantes doivent être entrées dans mongo shell (terminal client).

> db.world.insert({ "speech" : "Hello World!" });
> cur = db.world.find();x=cur.next();print(x["speech"]);
 

Bonjour le monde!

Explication:

  • Dans la première ligne, nous avons inséré un document apparié { key : value } dans le test base de données par défaut et dans la collection nommée world .
  • Dans la deuxième ligne, nous récupérons les données que nous venons d'insérer. Les données extraites sont conservées dans une variable javascript nommée cur . Ensuite, par la fonction next() , nous avons récupéré le premier et le seul document et l'avons conservé dans une autre variable js nommée x . Ensuite, imprimé la valeur du document fournissant la clé.

Installation

Pour installer MongoDB, suivez les étapes ci-dessous:

  • Pour Mac OS:

    • Il existe deux options pour Mac OS: installation manuelle ou homebrew .
    • Installation avec homebrew :
      • Tapez la commande suivante dans le terminal:
        $ brew install mongodb
         
    • Installation manuelle:
      • Téléchargez la dernière version ici . Assurez-vous que vous téléchargez le fichier approprié, vérifiez particulièrement si votre type de système d'exploitation est 32 bits ou 64 bits. Le fichier téléchargé est au format tgz .

      • Accédez au répertoire dans lequel ce fichier est téléchargé. Ensuite, tapez la commande suivante:

        $ tar xvf mongodb-osx-xyz.tgz
         

        Au lieu de xyz , il y aurait des informations sur la version et le type de système. Le dossier extrait porterait le même nom que le fichier tgz . Dans le dossier, il y aurait un sous-dossier nommé bin qui contiendrait plusieurs fichiers binaires avec mongod et mongo .

      • Par défaut, le serveur conserve les données dans le dossier /data/db . Donc, nous devons créer ce répertoire, puis exécuter le serveur avec les commandes suivantes:

        $ sudo bash
        # mkdir -p /data/db
        # chmod 777 /data
        # chmod 777 /data/db
        # exit
         
      • Pour démarrer le serveur, la commande suivante doit être donnée à partir de l'emplacement actuel:

        $ ./mongod
         

        Il lancerait le serveur sur le port 27017 par défaut.

      • Pour démarrer le client, un nouveau terminal doit être ouvert avec le même répertoire que précédemment. Ensuite, la commande suivante démarre le client et se connecte au serveur.

        $ ./mongo
         

        Par défaut, il se connecte à la base de données de test . Si vous voyez la ligne comme se connecting to: test . Ensuite, vous avez installé MongoDB avec succès. Félicitations! Maintenant, vous pouvez tester Hello World pour être plus confiant.

  • Pour les fenêtres:

    • Téléchargez la dernière version ici . Assurez-vous que vous téléchargez le fichier approprié, vérifiez particulièrement si votre type de système d'exploitation est 32 bits ou 64 bits.

    • Le fichier binaire téléchargé a l'extension exe . Exécuter. Il vous demandera un assistant d'installation.

    • Cliquez sur Suivant .

    • Acceptez le contrat de licence et cliquez sur Suivant .

    • Sélectionnez Installation complète .

    • Cliquez sur Installer . Il peut demander une fenêtre pour demander l'autorisation de l'administrateur. Cliquez sur Oui .

    • Après l'installation, cliquez sur Terminer .

    • Maintenant, le mongodb est installé sur le chemin C:/Program Files/MongoDB/Server/3.2/bin . Au lieu de la version 3.2, il pourrait y avoir une autre version pour votre cas. Le nom du chemin serait modifié en conséquence.

    • bin répertoire bin contient plusieurs fichiers binaires avec mongod et mongo . Pour l'exécuter à partir d'un autre dossier, vous pouvez ajouter le chemin dans le chemin du système. Pour le faire:

      • Cliquez avec le bouton droit sur Poste de travail et sélectionnez Propriétés .
      • Cliquez sur Paramètres système avancés dans le volet gauche.
      • Cliquez sur Variables d'environnement ... sous l'onglet Avancé .
      • Sélectionnez Path from System variables section et cliquez sur Edit ....
      • Avant Windows 10, ajoutez un point-virgule et collez le chemin indiqué ci-dessus. À partir de Windows 10, il existe un bouton Nouveau pour ajouter un nouveau chemin.
      • Cliquez sur OK pour enregistrer les modifications.
    • Maintenant, créez un dossier nommé data contenant un sous-dossier nommé db où vous souhaitez exécuter le serveur.

    • Démarrer l'invite de commande depuis leur. Soit changer le chemin dans cmd ou en cliquant sur Ouvrir la fenêtre de commande ici qui serait visible après un clic droit sur l'espace vide de l'interface graphique du dossier en appuyant sur la touche Maj et Ctrl ensemble.

    • Écrivez la commande pour démarrer le serveur:

      > mongod
       

      Il lancerait le serveur sur le port 27017 par défaut.

    • Ouvrez une autre invite de commande et tapez ce qui suit pour démarrer le client:

      > mongo
       
    • Par défaut, il se connecte à la base de données de test . Si vous voyez la ligne comme se connecting to: test . Ensuite, vous avez installé MongoDB avec succès. Félicitations! Maintenant, vous pouvez tester Hello World pour être plus confiant.

  • Pour Linux: Presque identique à Mac OS sauf qu'une commande équivalente est nécessaire.

    • Pour les distributions basées sur Debian (en utilisant apt-get ):
      • Importer la clé du référentiel MongoDB.

        $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
        gpg: Total number processed: 1\
        gpg:               imported: 1  (RSA: 1)
         
      • Ajouter un référentiel à la liste de paquets sur Ubuntu 16.04 .

        $ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
         
      • sur Ubuntu 14.04 .

        $ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
         
      • Mettre à jour la liste des paquets.

        $ sudo apt-get update
         
      • Installez MongoDB.

        $ sudo apt-get install mongodb-org
         
    • Pour les distributions basées sur Red Hat (en utilisant yum ):
      • utilisez un éditeur de texte que vous préférez.

        $ vi /etc/yum.repos.d/mongodb-org-3.4.repo

      • Coller le texte suivant.

        [mongodb-org-3.4]
        name=MongoDB Repository
        baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
        gpgcheck=1
        enabled=1
        gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
         
      • Mettre à jour la liste des paquets.

        $ sudo yum update
         
      • Installez MongoDB

        $ sudo yum install mongodb-org
         

Rendre la sortie de find lisible en shell

Nous ajoutons trois enregistrements à notre test de collecte:

> db.test.insert({"key":"value1","key2":"Val2","key3":"val3"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value2","key2":"Val21","key3":"val31"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value3","key2":"Val22","key3":"val33"})
WriteResult({ "nInserted" : 1 })
 

Si nous les voyons via find, ils seront très laids.

> db.test.find()
{ "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"), "key" : "value1", "key2" : "Val2
", "key3" : "val3" }
{ "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"), "key" : "value2", "key2" : "Val2
1", "key3" : "val31" }
{ "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"), "key" : "value3", "key2" : "Val2
2", "key3" : "val33" }
 

Pour contourner ce problème et les rendre lisibles, utilisez la fonction pretty ().

> db.test.find().pretty()
{
        "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"),
        "key" : "value1",
        "key2" : "Val2",
        "key3" : "val3"
}
{
        "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"),
        "key" : "value2",
        "key2" : "Val21",
        "key3" : "val31"
}
{
        "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"),
        "key" : "value3",
        "key2" : "Val22",
        "key3" : "val33"
}
>