0% ont trouvé ce document utile (0 vote)
19 vues4 pages

File 410

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

Introduction à MongoDB

MongoDB est une base de données NoSQL qui utilise un modèle orienté document, ce qui la
rend différente des bases de données relationnelles traditionnelles. Au lieu de stocker les
données dans des tables, MongoDB utilise des documents au format JSON-like (BSON),
permettant une structure de données plus flexible.

1. Installation de MongoDB

1.1. Via les Gestionnaires de Paquets

Pour installer MongoDB sur votre système, utilisez les gestionnaires de paquets appropriés.
Par exemple, sur 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 en utilisant Docker :

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

2. Concepts Fondamentaux

2.1. Base de Données

Une base de données MongoDB est une collection de documents regroupés dans des
collections.

2.2. Collection

Une collection est équivalente à une table dans les bases de données relationnelles et contient
des documents.

2.3. Document

Un document est une unité de données au format JSON-like. Il est comparable à une ligne
dans une table relationnelle.

3. Opérations de Base

3.1. Connexion à MongoDB


Pour se connecter à MongoDB, vous pouvez utiliser le shell MongoDB ou des clients comme
MongoDB Compass ou des bibliothèques pour divers langages.

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 collections sont créées automatiquement lorsque vous insérez des
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 à 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 et appliquez des filtres si nécessaire :

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

// Lire un document avec un critère de recherche


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

3.5. Mise à Jour de Documents

Pour mettre à jour des documents, utilisez updateOne pour une seule entrée ou updateMany
pour plusieurs entrées :

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 seul 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 permettent d'améliorer les performances des requêtes. Créez des index sur des
champs spécifiques pour accélérer l'accès aux données :

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

5. Agrégation

Les opérations d'agrégation permettent de traiter et d'analyser les données de manière plus
complexe :

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

6. Gestion des Transactions

MongoDB prend en charge les transactions multi-documents pour garantir la cohérence des
opérations :

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

Vous pouvez gérer les utilisateurs et leurs permissions avec MongoDB en créant 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

MongoDB offre des outils pour sauvegarder et restaurer vos données, comme mongodump et
mongorestore :

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

Vous aimerez peut-être aussi