I Introduction

Commandes de bases permettant de manipuler des bases de données MongoDB avec le client « Mongo ».

Client « Shell Mongo » : Aller dans le répertoire d’installation de MongoDB. Puis lancer mongo.exe qui se trouve dans …./bin/Mongo.exe

II Ressources web

initiation : https://docs.mongodb.com/manual/mongo/

command shell en détail : https://docs.mongodb.com/manual/reference/method/

III Commandes de base

III.1 Manipulation des bases de données

  • show dbs : [shell] montre toutes les bases de données du serveur
  • db.adminCommand(‘listDatabases’) : montre toutes les bases de données du serveur
  • db : [shell] montre la base de données en cours
  • use <nom_base_de_données> : [shell] sélectionne une base de données de travail. Création si elle n’existe pas.
  • db.getSiblingDB(nom_bdd) : sélectionne une base de données de travail. Création si elle n’existe pas ;
  • db.dropDatabase() : efface la base de données en cours.

III.2 Manipulation des collections au sein d’une base de données

  • db.getCollectionNames() : liste des collections au sein d’une base.
  • show collections : [shell] liste des collections au sein du base (résultat sous format texte et non JSON)
  • db.createCollection("Nom_collection") : créer une collection vide
  • db.ancien_nom_collection.renameCollection(« nouveau_nom« ) : renomme une collection.
  • db.nom_collection.drop() : supprime une collection

III.3 Travail au sein d’une collection

  • db.nom_collection.find() : recherche enregistrements dans une collection précise. Les filtres sont à mettre en place dans la méthode find() sous forme de texte/json. Retourne un objet que l’on peut parcourir avec l’objet « cursor ».
    • détails d’une recherche : lien MongoDB
      • opérateurs ET / OU / IN et retour que de certains champs …
  • count() : compte le nombre d’éléments :
    • db.nom_collection.count() : compte tous les documents d’une collection
    • db.nom_collection.find().count() : compte tous les documents recherchés
  • sort() : trier le résultat

Exemple1 : recherche par rapport à un champ précis

Recherche dans la collection « produit » les documents dont l’id est 3021760403891

db.produit.find({_id: »3021760403891″})

Exemple 2 : recherche en case sensitive.

Pour cela il faut utiliser les expressions régulières. Ici recherche du mot lustucru dans la propriété champ « brands »

db.produit.find({brands : /^lustucru$/i})

  • db.nom_collection.insert(un_document) : insère un document au sein d’une collection

 

 

Liste des correspondances SQL –> Mongodb :

https://docs.mongodb.com/manual/reference/sql-comparison/

Bref, par défaut, on oubli les jointures, les group by, les fonctions(sum), etc… il va falloir coder en javascript pour retrouver tout cela …

Exemple de GroupBy / Distinct :

https://docs.mongodb.com/manual/aggregation/

https://www.mkyong.com/mongodb/mongodb-aggregate-and-group-example/

III.4 Script : charger les scripts intégrés sur le serveur

Charger les scripts en mémoire.

  1. db.loadServerScripts()
  2. sélectionner la base de données de travail
  3. executer le script (fonction javascript)

Si un script est modifié, il faut impérativement le recharger en mémoire (db.loadServerScripts() …)

III.5 Sauvegarde/Restauration d’une base de données

Il faut utiliser l’outil « mongorestore.exe » situé dans le répertoire bin.

commande : ./mongorestore.exe -d nom_base -c nom_collection chemin_du_fichier_bson

Exemple :

 

MongoDB : commandes de bases (shell Mongo) et autres

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *