Aide-mémoire des commandes MongoDB courantes
MongoDB est un système de gestion de base de données open-source basé sur le stockage de fichiers distribués et l’une des bases de données NoSQL les plus populaires aujourd’hui. Cet aide-mémoire se concentre sur les opérations courantes du CLI mongosh.
Connexion & Gestion
| Commande | Description |
|---|---|
mongosh |
Se connecter à MongoDB sur le port local |
use <db_name> |
Changer ou créer une base |
db |
Afficher la base actuelle |
show dbs |
Lister les bases de données |
show collections |
Lister les collections |
exit |
Quitter le Shell |
Opérations sur les Collections (DDL)
| Commande | Description |
|---|---|
db.createCollection("users") |
Créer manuellement une collection |
db.users.drop() |
Supprimer la collection spécifiée |
db.users.stats() |
Voir les stats de la collection |
db.users.renameCollection("people") |
Renommer la collection |
Opérations sur les Documents (CRUD)
Insert
// Insérer des documents
db.users.insertOne({ name: "Alice", age: 25 });
db.users.insertMany([{ name: "Bob" }, { name: "Charlie" }]);Read
// Rechercher des documents
db.users.find().pretty();
db.users.find({ age: { $gt: 20 } }).sort({ age: 1 }).limit(10);
db.users.findOne({ name: "Alice" });
Update
// Modifier des documents
db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } });
db.users.updateMany({ age: { $lt: 18 } }, { $set: { status: "minor" } });Delete
// Supprimer des documents
db.users.deleteOne({ _id: ObjectId("...") });
db.users.deleteMany({ status: "inactive" });Opérateurs Courants
| Type | Operator | Description |
|---|---|---|
| Comparaison | $gt, $gte, $lt, $lte, $ne |
Plus grand que, Plus grand ou égal, Plus petit que, Plus petit ou égal, Différent de |
| Logique | $and, $or, $not, $nor |
Et, Ou, Non, Ni… ni… |
| Champ | $set, $unset, $inc, $rename |
Définir valeur, Supprimer champ, Incrémentation, Renommer champ |
| Tableau | $push, $pop, $pull, $addToSet |
Ajouter, Extraire le dernier, Retirer les correspondances, Ajouter si unique |
Pipeline d’Agrégation
db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
]);Gestion des Index
| Commande | Description |
|---|---|
db.users.createIndex({ name: 1 }) |
Créer un index croissant |
db.users.createIndex({ email: 1 }, { unique: true }) |
Créer un index unique |
db.users.getIndexes() |
Voir tous les index |
db.users.dropIndex("name_1") |
Supprimer un index |