SlideShare una empresa de Scribd logo
1 de 14
Introduction
à
Abdoulaye Dieng
Objectif général
Découvrir l'un des SGBDs noSQL les plus utilisés
Objectifs spécifiques
• Installer et démarrer un serveur et un client mongo
• Créer une base de données dans un serveur mongo
• Créer une collection dans une base de données mongo
• Connaître les principaux types de données
• Insérer des données
• Consulter des données
• Modifier des données
• Supprimer des données
Sommaire
1. Présentation de MongoDB
2. Installation et démarrage d’un serveur et d’un client
3. Opérations sur les bases de données
4. Opérations sur les collections
5. Les principaux types de données
6. Insertion de données
7. Consultation de données
8. Modification de données
9. Suppression de données
Présentation
• MongoDB est un SGBD
– dans la mouvance NoSQL (Not only SQL)
– scalable ie supporte l'accroissement de la quantité de
données
– orienté documents
• Document
– Ensemble de paires clé/valeur
Ex : {prenom:"abdou", sexe:true, age:25, taille:1.85}
–  enregistrement ou tuple en SGBDR
• Collection
– Ensemble de documents
–  table en SGBDR
– Ne dispose pas obligatoirement de schéma
• Base de données = ensemble de collections
Installation & démarrage
du serveur et du client
1) Se rendre à l’adresse
http://docs.mongodb.org/manual/installation/
2) Télécharger et installer mongo
3) Créer le répertoire data/db/ de stockage des données
4) En ligne de commande :
a) Démarrer le serveur avec la commande mongod
accompagnée de l’option --dbpath qui indique le chemin
du répertoire de stockage des données
Exemple : mongod --dbpath chemin/de/data/db/
b) Démarrer le client avec la commande mongo (sans d) sur
un 2ème interpréteur de commandes
Opérations sur les bdd
• Pas de commande pour créer une base de données
• Définir ou sélectionner une base données
use DB_NAME
NB : une base de données n’existe que si on y crée une
collection
• Voir le nom de la bdd courante
db
• Voir les noms de toutes les bdd disponibles
show dbs
• Supprimer la bdd sélectionnée ou courante
db.dropDatabase()
• Exemple : définition de la bdd « membresdb »
use membresdb
Opérations sur les collections
• Syntaxe de création
db.createCollection('COLLECTION_NAME')
NB : l’insertion d’un document dans une collection crée
automatiquement celle-ci
• db représente la base de données sélectionnée
• Voir toutes les collections disponibles
show collections
• Supprimer une collection
db.COLLECTION_NAME.drop()
• Exemple : création de la collection « membres »
db.createCollection('membres')
Principaux types de données
• Integer : nombre entier. Ex : age : 25
• Double : nombre à virgule (decimal point). Ex : taille : 1.85
• String : chaîne de caractères en UTF-8. Ex : prenom : "Ali"
• Boolean : true ou false. Ex : present : true
• Date :
– Date courante : Date(). Ex : lastModified : Date()
– Autre date : new Date('MM-DD-YYYY-hh:mm:ss') ou
ISODate("YYYY-MM-DDThh:mm:ssZ")
Ex : date_cmde : ISODate("2015-03-22T01:11:58Z")
• Array : valeurs entre crochets séparées par virgule
• ObjectId : identifiant unique de 12 octets d’un document
4(timestamp Unix) + 3(machine) + 2(processus) + 3(incrément)
• Embedded Document : document intégré
Insertion de données
• Syntaxe d’insertion d’un document
db.COLLECTION_NAME.insert({key1:val1, …})
• db : base de données sélectionnée
• Si le champ _id (clé primaire) est omis dans le document inséré,
mongoDB attribue un ObjectId unique pour ce document.
• Insertion multiple avec un tableau de documents
[{…},{…},…]
db.COLLECTION_NAME.insert([{…},{…},…])
• Exemple
db.membres.insert([{ prenom:"moussa", sexe:true, age:30,
taille:1.85 }, { prenom:"sokhna", sexe:false, age:34 } ])
Sélection de données
• Syntaxe
db.COLLECTION_NAME.find(query, fields)
• query (optionnel) : filtrer les documents à sélectionner
– Syntaxe : {key : value, …} (çàd equal) ou {key:{$op:value},
…}
– Opérateurs entre clé et val : $lt(less than), $lte(less than
equals), $gt(greater than), $gte(greater than equals), $ne(not
equals), etc.
– Opérateurs entre couples clé/val : $and (par défaut), $or, $not
et $nor avec la syntaxe { $op: [{…}, {…},…] }.
• fields (optionnel) : filtrer les champs à sélectionner
– Syntaxe : { champ1: <boolean>, champ2: <boolean> ... }
– true ou 1 pour inclure et 0 ou false pour exclure
– _id est toujours inclus sauf s’il est explicitement exclu
Modification de données
• Syntaxe
db.COLLECTION_NAME.update(query, update,options)
• query (obligatoire) : voir diapo sur sélection de données
• update (obligatoire) : données mises à jour
– Syntaxe : {liste de paires} ou {$op : {liste} }
– Qlq opérateurs: $set (définir champ), $unset (supprimer
champ), $inc (incrémenter), $push (ajouter un élément de
tableau), $pull (retirer élément(s) de tableau).
• Options
– upsert (optionnel) : avec {upsert:true}, créer un nouveau
document si aucun ne répond à la query
– multi (optionnel) : avec {multi:true}, modifier tous les docs
qui répondent à la query
• Exemple :
Suppression de données
• Syntaxe
db.COLLECTION_NAME.remove(query, justOne)
• query (obligatoire) : voir diapo sur sélection de données
• justOne (optionnel) : avec {justOne:true}, supprimer un seul
document
• Exemple :
db.membres.remove({prenom:'moussa'})
Documentation
• http://docs.mongodb.org/manual/
• http://docs.mongodb.org/manual/reference/bson-types/
• http://search.cpan.org/~mongodb/MongoDB/lib/MongoDB/D
ataTypes.pod
• http://docs.mongodb.org/manual/applications/crud/

Más contenido relacionado

La actualidad más candente

BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Hatim CHAHDI
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
Présentation des bases de données orientées graphes
Présentation des bases de données orientées graphesPrésentation des bases de données orientées graphes
Présentation des bases de données orientées graphesKoffi Sani
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & SparkAlexia Audevart
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia Sfaxi
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013mumrah
 
Alphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB AdministrationAlphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB AdministrationAlphorm
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 

La actualidad más candente (20)

BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Présentation des bases de données orientées graphes
Présentation des bases de données orientées graphesPrésentation des bases de données orientées graphes
Présentation des bases de données orientées graphes
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
noSQL
noSQLnoSQL
noSQL
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
 
Alphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB AdministrationAlphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB Administration
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Une introduction à Hive
Une introduction à HiveUne introduction à Hive
Une introduction à Hive
 

Destacado

php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objetsAbdoulaye Dieng
 
Scalable Cloud Solutions with Node.js
Scalable Cloud Solutions with Node.jsScalable Cloud Solutions with Node.js
Scalable Cloud Solutions with Node.jsmpneuried
 
Mongo db with spring data document
Mongo db with spring data documentMongo db with spring data document
Mongo db with spring data documentSean Lee
 
Open source log analytics
Open source log analyticsOpen source log analytics
Open source log analyticsVinod Nayal
 
Advanced Redis data structures
Advanced Redis data structuresAdvanced Redis data structures
Advanced Redis data structuresamix3k
 
Practical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo DbPractical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo DbAlex Sharp
 
المكتبة الزيتونية سمير باني
المكتبة الزيتونية سمير بانيالمكتبة الزيتونية سمير باني
المكتبة الزيتونية سمير بانيMinyar Sassi Hidri
 
Using MongoDB As a Tick Database
Using MongoDB As a Tick DatabaseUsing MongoDB As a Tick Database
Using MongoDB As a Tick DatabaseMongoDB
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB
 
Java and services code lab spring boot and spring data using mongo db
Java and services code lab spring boot and spring data using mongo dbJava and services code lab spring boot and spring data using mongo db
Java and services code lab spring boot and spring data using mongo dbStaples
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
Java and services code lab spring boot and spring data using mongo db
Java and services code lab spring boot and spring data using mongo dbJava and services code lab spring boot and spring data using mongo db
Java and services code lab spring boot and spring data using mongo dbStaples
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementMohamed hedi Abidi
 
Angular 2 : le réveil de la force
Angular 2 : le réveil de la forceAngular 2 : le réveil de la force
Angular 2 : le réveil de la forceNicolas PENNEC
 
Découverte de Redis
Découverte de RedisDécouverte de Redis
Découverte de RedisJEMLI Fathi
 

Destacado (20)

Introduction au Jquery
Introduction au JqueryIntroduction au Jquery
Introduction au Jquery
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Csharp2 : classes et objets
Csharp2 : classes et objetsCsharp2 : classes et objets
Csharp2 : classes et objets
 
Introduction à ajax
Introduction à ajaxIntroduction à ajax
Introduction à ajax
 
Mongo db devfestw
Mongo db devfestwMongo db devfestw
Mongo db devfestw
 
Scalable Cloud Solutions with Node.js
Scalable Cloud Solutions with Node.jsScalable Cloud Solutions with Node.js
Scalable Cloud Solutions with Node.js
 
Mongo db with spring data document
Mongo db with spring data documentMongo db with spring data document
Mongo db with spring data document
 
Open source log analytics
Open source log analyticsOpen source log analytics
Open source log analytics
 
Advanced Redis data structures
Advanced Redis data structuresAdvanced Redis data structures
Advanced Redis data structures
 
Redis and it's data types
Redis and it's data typesRedis and it's data types
Redis and it's data types
 
Practical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo DbPractical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo Db
 
المكتبة الزيتونية سمير باني
المكتبة الزيتونية سمير بانيالمكتبة الزيتونية سمير باني
المكتبة الزيتونية سمير باني
 
Using MongoDB As a Tick Database
Using MongoDB As a Tick DatabaseUsing MongoDB As a Tick Database
Using MongoDB As a Tick Database
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data Presentation
 
Java and services code lab spring boot and spring data using mongo db
Java and services code lab spring boot and spring data using mongo dbJava and services code lab spring boot and spring data using mongo db
Java and services code lab spring boot and spring data using mongo db
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilité
 
Java and services code lab spring boot and spring data using mongo db
Java and services code lab spring boot and spring data using mongo dbJava and services code lab spring boot and spring data using mongo db
Java and services code lab spring boot and spring data using mongo db
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et Développement
 
Angular 2 : le réveil de la force
Angular 2 : le réveil de la forceAngular 2 : le réveil de la force
Angular 2 : le réveil de la force
 
Découverte de Redis
Découverte de RedisDécouverte de Redis
Découverte de Redis
 

Similar a introduction à MongoDB

MongoDB_presentation_example.pptx
MongoDB_presentation_example.pptxMongoDB_presentation_example.pptx
MongoDB_presentation_example.pptxZALIMAZA
 
MongoDB_presentation_o.pptx
MongoDB_presentation_o.pptxMongoDB_presentation_o.pptx
MongoDB_presentation_o.pptxZALIMAZA
 
MongoDB_presentation_p.pptx
MongoDB_presentation_p.pptxMongoDB_presentation_p.pptx
MongoDB_presentation_p.pptxZALIMAZA
 
MongoDB_presentation_xmls.pptx
MongoDB_presentation_xmls.pptxMongoDB_presentation_xmls.pptx
MongoDB_presentation_xmls.pptxZALIMAZA
 
MongoDB_presentation_tts.pptx
MongoDB_presentation_tts.pptxMongoDB_presentation_tts.pptx
MongoDB_presentation_tts.pptxZALIMAZA
 
MongoDB_presentation_Moyou.pptx
MongoDB_presentation_Moyou.pptxMongoDB_presentation_Moyou.pptx
MongoDB_presentation_Moyou.pptxZALIMAZA
 
MongoDB_presentation.pptx
MongoDB_presentation.pptxMongoDB_presentation.pptx
MongoDB_presentation.pptxZALIMAZA
 
MongoDB_presentation_ye.pptx
MongoDB_presentation_ye.pptxMongoDB_presentation_ye.pptx
MongoDB_presentation_ye.pptxZALIMAZA
 
resume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdfresume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdfFootballLovers9
 
Retour aux fondamentaux : Penser en termes de documents
Retour aux fondamentaux : Penser en termes de documentsRetour aux fondamentaux : Penser en termes de documents
Retour aux fondamentaux : Penser en termes de documentsMongoDB
 
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfDATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfHéla Ben Khalfallah
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBRomain Cambien
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesAbdoulaye Dieng
 
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...MongoDB
 
presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...MongoDB
 
ch5_indexation.pdf
ch5_indexation.pdfch5_indexation.pdf
ch5_indexation.pdfnihedattia2
 
Tout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pasTout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pasBruno Bonnin
 

Similar a introduction à MongoDB (20)

MongoDB_presentation_example.pptx
MongoDB_presentation_example.pptxMongoDB_presentation_example.pptx
MongoDB_presentation_example.pptx
 
MongoDB_presentation_o.pptx
MongoDB_presentation_o.pptxMongoDB_presentation_o.pptx
MongoDB_presentation_o.pptx
 
MongoDB_presentation_p.pptx
MongoDB_presentation_p.pptxMongoDB_presentation_p.pptx
MongoDB_presentation_p.pptx
 
MongoDB_presentation_xmls.pptx
MongoDB_presentation_xmls.pptxMongoDB_presentation_xmls.pptx
MongoDB_presentation_xmls.pptx
 
MongoDB_presentation_tts.pptx
MongoDB_presentation_tts.pptxMongoDB_presentation_tts.pptx
MongoDB_presentation_tts.pptx
 
MongoDB_presentation_Moyou.pptx
MongoDB_presentation_Moyou.pptxMongoDB_presentation_Moyou.pptx
MongoDB_presentation_Moyou.pptx
 
MongoDB_presentation.pptx
MongoDB_presentation.pptxMongoDB_presentation.pptx
MongoDB_presentation.pptx
 
MongoDB_presentation_ye.pptx
MongoDB_presentation_ye.pptxMongoDB_presentation_ye.pptx
MongoDB_presentation_ye.pptx
 
resume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdfresume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdf
 
Retour aux fondamentaux : Penser en termes de documents
Retour aux fondamentaux : Penser en termes de documentsRetour aux fondamentaux : Penser en termes de documents
Retour aux fondamentaux : Penser en termes de documents
 
4-TP BD.pptx
4-TP BD.pptx4-TP BD.pptx
4-TP BD.pptx
 
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfDATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
 
presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
La 2ème partie de la présentation PHP
La 2ème partie de la présentation PHPLa 2ème partie de la présentation PHP
La 2ème partie de la présentation PHP
 
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
 
ch5_indexation.pdf
ch5_indexation.pdfch5_indexation.pdf
ch5_indexation.pdf
 
Tout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pasTout ce que le getting started mongodb ne vous dira pas
Tout ce que le getting started mongodb ne vous dira pas
 

Más de Abdoulaye Dieng

Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturelAbdoulaye Dieng
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobilesAbdoulaye Dieng
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPressAbdoulaye Dieng
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API RESTAbdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchronesAbdoulaye Dieng
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 

Más de Abdoulaye Dieng (20)

Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
 
Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturel
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPress
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchrones
 
Introduction à jQuery
Introduction à jQueryIntroduction à jQuery
Introduction à jQuery
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 

introduction à MongoDB

  • 2. Objectif général Découvrir l'un des SGBDs noSQL les plus utilisés
  • 3. Objectifs spécifiques • Installer et démarrer un serveur et un client mongo • Créer une base de données dans un serveur mongo • Créer une collection dans une base de données mongo • Connaître les principaux types de données • Insérer des données • Consulter des données • Modifier des données • Supprimer des données
  • 4. Sommaire 1. Présentation de MongoDB 2. Installation et démarrage d’un serveur et d’un client 3. Opérations sur les bases de données 4. Opérations sur les collections 5. Les principaux types de données 6. Insertion de données 7. Consultation de données 8. Modification de données 9. Suppression de données
  • 5. Présentation • MongoDB est un SGBD – dans la mouvance NoSQL (Not only SQL) – scalable ie supporte l'accroissement de la quantité de données – orienté documents • Document – Ensemble de paires clé/valeur Ex : {prenom:"abdou", sexe:true, age:25, taille:1.85} –  enregistrement ou tuple en SGBDR • Collection – Ensemble de documents –  table en SGBDR – Ne dispose pas obligatoirement de schéma • Base de données = ensemble de collections
  • 6. Installation & démarrage du serveur et du client 1) Se rendre à l’adresse http://docs.mongodb.org/manual/installation/ 2) Télécharger et installer mongo 3) Créer le répertoire data/db/ de stockage des données 4) En ligne de commande : a) Démarrer le serveur avec la commande mongod accompagnée de l’option --dbpath qui indique le chemin du répertoire de stockage des données Exemple : mongod --dbpath chemin/de/data/db/ b) Démarrer le client avec la commande mongo (sans d) sur un 2ème interpréteur de commandes
  • 7. Opérations sur les bdd • Pas de commande pour créer une base de données • Définir ou sélectionner une base données use DB_NAME NB : une base de données n’existe que si on y crée une collection • Voir le nom de la bdd courante db • Voir les noms de toutes les bdd disponibles show dbs • Supprimer la bdd sélectionnée ou courante db.dropDatabase() • Exemple : définition de la bdd « membresdb » use membresdb
  • 8. Opérations sur les collections • Syntaxe de création db.createCollection('COLLECTION_NAME') NB : l’insertion d’un document dans une collection crée automatiquement celle-ci • db représente la base de données sélectionnée • Voir toutes les collections disponibles show collections • Supprimer une collection db.COLLECTION_NAME.drop() • Exemple : création de la collection « membres » db.createCollection('membres')
  • 9. Principaux types de données • Integer : nombre entier. Ex : age : 25 • Double : nombre à virgule (decimal point). Ex : taille : 1.85 • String : chaîne de caractères en UTF-8. Ex : prenom : "Ali" • Boolean : true ou false. Ex : present : true • Date : – Date courante : Date(). Ex : lastModified : Date() – Autre date : new Date('MM-DD-YYYY-hh:mm:ss') ou ISODate("YYYY-MM-DDThh:mm:ssZ") Ex : date_cmde : ISODate("2015-03-22T01:11:58Z") • Array : valeurs entre crochets séparées par virgule • ObjectId : identifiant unique de 12 octets d’un document 4(timestamp Unix) + 3(machine) + 2(processus) + 3(incrément) • Embedded Document : document intégré
  • 10. Insertion de données • Syntaxe d’insertion d’un document db.COLLECTION_NAME.insert({key1:val1, …}) • db : base de données sélectionnée • Si le champ _id (clé primaire) est omis dans le document inséré, mongoDB attribue un ObjectId unique pour ce document. • Insertion multiple avec un tableau de documents [{…},{…},…] db.COLLECTION_NAME.insert([{…},{…},…]) • Exemple db.membres.insert([{ prenom:"moussa", sexe:true, age:30, taille:1.85 }, { prenom:"sokhna", sexe:false, age:34 } ])
  • 11. Sélection de données • Syntaxe db.COLLECTION_NAME.find(query, fields) • query (optionnel) : filtrer les documents à sélectionner – Syntaxe : {key : value, …} (çàd equal) ou {key:{$op:value}, …} – Opérateurs entre clé et val : $lt(less than), $lte(less than equals), $gt(greater than), $gte(greater than equals), $ne(not equals), etc. – Opérateurs entre couples clé/val : $and (par défaut), $or, $not et $nor avec la syntaxe { $op: [{…}, {…},…] }. • fields (optionnel) : filtrer les champs à sélectionner – Syntaxe : { champ1: <boolean>, champ2: <boolean> ... } – true ou 1 pour inclure et 0 ou false pour exclure – _id est toujours inclus sauf s’il est explicitement exclu
  • 12. Modification de données • Syntaxe db.COLLECTION_NAME.update(query, update,options) • query (obligatoire) : voir diapo sur sélection de données • update (obligatoire) : données mises à jour – Syntaxe : {liste de paires} ou {$op : {liste} } – Qlq opérateurs: $set (définir champ), $unset (supprimer champ), $inc (incrémenter), $push (ajouter un élément de tableau), $pull (retirer élément(s) de tableau). • Options – upsert (optionnel) : avec {upsert:true}, créer un nouveau document si aucun ne répond à la query – multi (optionnel) : avec {multi:true}, modifier tous les docs qui répondent à la query • Exemple :
  • 13. Suppression de données • Syntaxe db.COLLECTION_NAME.remove(query, justOne) • query (obligatoire) : voir diapo sur sélection de données • justOne (optionnel) : avec {justOne:true}, supprimer un seul document • Exemple : db.membres.remove({prenom:'moussa'})
  • 14. Documentation • http://docs.mongodb.org/manual/ • http://docs.mongodb.org/manual/reference/bson-types/ • http://search.cpan.org/~mongodb/MongoDB/lib/MongoDB/D ataTypes.pod • http://docs.mongodb.org/manual/applications/crud/