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
[Link]({ 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
[Link]({ nom: "Martin", age: 25 })
[Link]([
{ 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
[Link]()
// Lire un document avec un critère de recherche
[Link]({ 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
[Link](
{ nom: "Martin" },
{ $set: { age: 26 } }
)
// Mettre à jour plusieurs documents
[Link](
{ 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
[Link]({ nom: "Martin" })
// Supprimer plusieurs documents
[Link]({ 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
[Link]({ 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
[Link]([
{ $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 = [Link]().startSession();
[Link]();
try {
[Link]({ nom: "Dupont", age: 35 }, { session });
[Link]({ nom: "Bernard" }, { $set: { age: 23 } },
{ session });
[Link]();
} catch (error) {
[Link]();
throw error;
} finally {
[Link]();
}
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
[Link]({
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