File 510

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 4

MongoDB est une base de données NoSQL orientée document, conçue pour gérer des

données sous un format flexible et évolutif. Contrairement aux bases de données


relationnelles, MongoDB stocke les informations en documents au format JSON-like
(BSON), ce qui permet une grande flexibilité dans la structure des données.

1. Installation de MongoDB

1.1. Via les Gestionnaires de Paquets

Pour installer MongoDB, vous pouvez utiliser les gestionnaires de paquets adaptés à votre
système d'exploitation. Par exemple, pour Ubuntu :

bash
Copier le code
sudo apt update
sudo apt install -y mongodb

Pour Windows, téléchargez l'installateur depuis le site officiel de MongoDB.

1.2. Utilisation de Docker

Vous pouvez également déployer MongoDB à l'aide de Docker :

bash
Copier le code
docker run --name mongodb -d mongo

2. Concepts Clés

2.1. Base de Données

Une base de données MongoDB est une entité qui regroupe plusieurs collections.

2.2. Collection

Une collection est un ensemble de documents, similaire à une table dans une base de données
relationnelle.

2.3. Document

Un document est une unité de données au format JSON-like (BSON), équivalente à une ligne
dans une table relationnelle.

3. Opérations Essentielles

3.1. Connexion à MongoDB

Pour interagir avec MongoDB, vous pouvez utiliser le shell MongoDB, MongoDB Compass,
ou des bibliothèques pour différents langages de programmation. Pour accéder au shell
MongoDB :
bash
Copier le code
mongo

3.2. Création de Base de Données et Collection

Les bases de données et les collections sont créées automatiquement lors de l'insertion de
documents :

javascript
Copier le code
// Sélectionner ou créer une base de données
use maBaseDeDonnees

// Insérer un document dans une collection


db.maCollection.insertOne({ nom: "Dupont", age: 30 })

3.3. Insertion de Documents

Pour ajouter des documents dans une collection, utilisez insertOne pour un seul document
ou insertMany pour plusieurs documents :

javascript
Copier le code
db.maCollection.insertOne({ nom: "Martin", age: 25 })

db.maCollection.insertMany([
{ nom: "Durand", age: 40 },
{ nom: "Bernard", age: 22 }
])

3.4. Lecture de Documents

Pour lire des documents, utilisez find avec des filtres si nécessaire :

javascript
Copier le code
// Lire tous les documents
db.maCollection.find()

// Lire un document avec un critère spécifique


db.maCollection.find({ nom: "Martin" })

3.5. Mise à Jour de Documents

Pour mettre à jour des documents, utilisez updateOne pour un document ou updateMany pour
plusieurs documents :

javascript
Copier le code
// Mettre à jour un document
db.maCollection.updateOne(
{ nom: "Martin" },
{ $set: { age: 26 } }
)
// Mettre à jour plusieurs documents
db.maCollection.updateMany(
{ age: { $lt: 30 } },
{ $set: { statut: "jeune" } }
)

3.6. Suppression de Documents

Pour supprimer des documents, utilisez deleteOne pour un document ou deleteMany pour
plusieurs documents :

javascript
Copier le code
// Supprimer un document
db.maCollection.deleteOne({ nom: "Martin" })

// Supprimer plusieurs documents


db.maCollection.deleteMany({ age: { $lt: 30 } })

4. Indexation

Les index améliorent les performances des requêtes en permettant un accès rapide aux
documents. Créez des index sur des champs spécifiques pour optimiser les performances :

javascript
Copier le code
db.maCollection.createIndex({ nom: 1 })

5. Agrégation

Les opérations d'agrégation permettent de transformer et d'analyser les données en effectuant


des calculs et des regroupements complexes :

javascript
Copier le code
db.maCollection.aggregate([
{ $match: { age: { $gte: 30 } } },
{ $group: { _id: "$statut", total: { $sum: 1 } } }
])

6. Transactions

MongoDB supporte les transactions multi-documents pour assurer l'intégrité des opérations
complexes :

javascript
Copier le code
const session = db.getMongo().startSession();
session.startTransaction();

try {
db.maCollection.insertOne({ nom: "Dupont", age: 35 }, { session });
db.maCollection.updateOne({ nom: "Bernard" }, { $set: { age: 23 } },
{ session });
session.commitTransaction();
} catch (error) {
session.abortTransaction();
throw error;
} finally {
session.endSession();
}

7. Sécurité et Administration

7.1. Création d'Utilisateurs

Pour gérer les accès, créez des utilisateurs avec des rôles spécifiques :

javascript
Copier le code
db.createUser({
user: "admin",
pwd: "motdepasse",
roles: [{ role: "readWrite", db: "maBaseDeDonnees" }]
})

7.2. Sauvegarde et Restauration

Utilisez mongodump pour sauvegarder vos données et mongorestore pour les restaurer :

bash
Copier le code
mongodump --db maBaseDeDonnees --out /chemin/vers/sauvegarde
mongorestore /chemin/vers/sauvegarde

Vous aimerez peut-être aussi