SlideShare ist ein Scribd-Unternehmen logo
1 von 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/

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...MOHAMMED MOURADI
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6Amal Abid
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQLkamar MEDDAH
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQLOussama ARBI
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystèmeKhanh Maudoux
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
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
 

Was ist angesagt? (20)

Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
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
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Spring Boot RestApi.pptx
Spring Boot RestApi.pptxSpring Boot RestApi.pptx
Spring Boot RestApi.pptx
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
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...
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 
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
 

Mehr von 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
 
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 à HTML 5
Introduction à HTML 5Introduction à HTML 5
Introduction à HTML 5
 

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/