Catalogue des Commandes 23/02/2026 15:00:00 angularforall.com

- MongoDB : commandes CLI et scripts d'admin DB

Mongodb Nosql Mongod Mongoimport Mongoexport Mongodump Mongorestore Shell Admin-Mongodb Client-Mongodb Base-De-Donnees Agregations Atlas Replica-Set

Maîtrisez MongoDB pour administrer vos bases NoSQL : commandes CLI, scripting d'automatisation, sauvegardes et gestion des bases de données non relationnelles.

mongosh
Description :

Lance le shell interactif MongoDB (Mongosh)

Options :
  • --host
  • --port
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
  • --tls
  • --tlsCAFile
  • --tlsCertificateKeyFile
  • --quiet
  • --eval
  • --file ⚠️
  • -f ⚠️
  • --help
  • --version
mongosh "mongodb://localhost:27017"
Description :

Se connecte via URI MongoDB

Options :
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
mongosh -u admin -p --authenticationDatabase admin
Description :

Connexion avec authentification

Options :
  • --host
  • --port
mongosh --quiet
Description :

Lance le shell sans messages de démarrage

Options :
  • --quiet
mongosh --eval "db.stats()"
Description :

Exécute une commande JavaScript et quitte

Options :
  • --eval
mongosh --file script.js
Description :

Exécute un fichier JavaScript

Options :
  • -f ⚠️
  • --file ⚠️
mongod
Description :

Démarre le serveur MongoDB (démon)

Options :
  • --dbpath
  • --port
  • --bind_ip
  • --replSet ⚠️
  • --config
  • -f ⚠️
  • --fork ⚠️
  • --logpath
  • --logappend
  • --auth
  • --keyFile
  • --tlsMode
  • --tlsCertificateKeyFile
  • --tlsCAFile
  • --setParameter
  • --storageEngine
  • --directoryperdb
  • --journal
  • --nojournal
  • --wiredTigerCacheSizeGB
  • --oplogSize
  • --profile
  • --slowms
  • --quiet
  • --verbose
  • -v
  • --help
  • --version
mongod --dbpath /data/db
Description :

Démarre le serveur avec un chemin de données personnalisé

Options :
  • --dbpath
mongod --port 27018 --dbpath /data/db
Description :

Démarre sur un port personnalisé

Options :
  • --port
  • --dbpath
mongod --bind_ip localhost,192.168.1.100
Description :

Écoute sur des IP spécifiques

Options :
  • --bind_ip
mongod --bind_ip_all
Description :

Écoute sur toutes les interfaces réseau

Options :
  • --bind_ip_all
mongod --replSet rs0
Description :

Démarre en tant que membre d'un Replica Set

Options :
  • --replSet ⚠️
mongod --config /etc/mongod.conf
Description :

Démarre avec un fichier de configuration

Options :
  • -f ⚠️
  • --config
mongod --fork --logpath /var/log/mongodb/mongod.log
Description :

Démarre en arrière-plan avec logs

Options :
  • --fork ⚠️
  • --logpath
  • --logappend
mongod --auth
Description :

Active l'authentification

Options :
  • --auth
  • --keyFile
mongod --storageEngine wiredTiger --wiredTigerCacheSizeGB 2
Description :

Définit le cache WiredTiger à 2 Go

Options :
  • --storageEngine
  • --wiredTigerCacheSizeGB
mongod --directoryperdb
Description :

Stocke chaque base dans son propre dossier

Options :
  • --directoryperdb
mongod --profile 1 --slowms 100
Description :

Active le profiling des requêtes > 100ms

Options :
  • --profile
  • --slowms
mongod --setParameter failIndexKeyTooLong=false
Description :

Désactive l'erreur sur index trop long

Options :
  • --setParameter
mongos
Description :

Démarre le routeur MongoDB (pour sharding)

Options :
  • --configdb
  • --port
  • --bind_ip
  • --logpath
  • --fork ⚠️
  • --keyFile
  • --help
mongos --configdb configReplSet/localhost:27019
Description :

Démarre mongos avec Config Servers

Options :
  • --configdb
  • --port
  • --bind_ip
mongo
Description :

Ancien shell MongoDB (déprécié, utiliser mongosh)

Options :
  • --host
  • --port
  • -u
  • -p
  • --eval
  • --quiet
mongodump
Description :

Sauvegarde une base de données MongoDB

Options :
  • --host
  • --port
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
  • --db
  • -d
  • --collection
  • -c
  • --query
  • -q
  • --out
  • -o
  • --gzip
  • --archive
  • --oplog
  • --excludeCollection
  • --excludeCollectionsWithPrefix
  • --numParallelCollections
  • -j
  • --readPreference ⚠️
  • --tls
  • --tlsCAFile
  • --verbose
  • -v
  • --quiet
  • --help
mongodump --db ma_base --out /backup/
Description :

Sauvegarde une base spécifique

Options :
  • -d
  • --db
  • -o
  • --out
mongodump --collection users --db ma_base --out /backup/
Description :

Sauvegarde une collection spécifique

Options :
  • -c
  • --collection
  • -d
  • --db
  • -o
  • --out
mongodump --archive=backup.archive
Description :

Sauvegarde au format archive

Options :
  • --archive
mongodump --gzip --archive=backup.gz
Description :

Sauvegarde compressée au format archive

Options :
  • --gzip
  • --archive
mongodump --query='{"age": {"$gt": 18}}' --db ma_base --collection users
Description :

Sauvegarde avec filtre de requête

Options :
  • -q
  • --query
mongodump --oplog
Description :

Inclut l'oplog pour une restauration point-in-time

Options :
  • --oplog
mongodump --excludeCollection logs --db ma_base
Description :

Exclut une collection de la sauvegarde

Options :
  • --excludeCollection
mongodump --numParallelCollections 4
Description :

Sauvegarde avec 4 threads parallèles

Options :
  • -j
  • --numParallelCollections
mongorestore
Description :

Restaure une sauvegarde MongoDB

Options :
  • --host
  • --port
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
  • --db
  • -d
  • --collection
  • -c
  • --drop
  • --gzip
  • --archive
  • --oplogReplay
  • --objcheck
  • --preserveUUID
  • --stopOnError
  • --numInsertionWorkersPerCollection
  • -j
  • --writeConcern
  • --tls
  • --tlsCAFile
  • --verbose
  • -v
  • --quiet
  • --dryRun
  • --help
mongorestore /backup/ma_base
Description :

Restaure une base depuis un dossier

Options :
  • --db
  • -d
  • --drop
mongorestore --db ma_base --collection users /backup/ma_base/users.bson
Description :

Restaure une collection spécifique

Options :
  • -d
  • --db
  • -c
  • --collection
mongorestore --drop /backup/ma_base
Description :

Supprime les collections existantes avant restauration

Options :
  • --drop
mongorestore --archive=backup.archive
Description :

Restaure depuis une archive

Options :
  • --archive
  • --gzip
mongorestore --gzip --archive=backup.gz
Description :

Restaure depuis une archive compressée

Options :
  • --gzip
  • --archive
mongorestore --oplogReplay
Description :

Rejoue l'oplog pour restauration point-in-time

Options :
  • --oplogReplay
mongorestore --numInsertionWorkersPerCollection 4
Description :

Restaure avec 4 workers par collection

Options :
  • -j
  • --numInsertionWorkersPerCollection
mongorestore --dryRun /backup/ma_base
Description :

Simule la restauration sans écrire

Options :
  • --dryRun
mongoexport
Description :

Exporte des données au format JSON ou CSV

Options :
  • --host
  • --port
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
  • --db
  • -d
  • --collection
  • -c
  • --query
  • -q
  • --fields ⚠️
  • -f ⚠️
  • --type
  • --jsonFormat
  • --sort
  • --limit
  • --skip
  • --out
  • -o
  • --pretty
  • --forceTableScan ⚠️
  • --readPreference ⚠️
  • --tls
  • --verbose
  • -v
  • --quiet
  • --help
mongoexport --db ma_base --collection users --out users.json
Description :

Exporte une collection en JSON

Options :
  • -d
  • --db
  • -c
  • --collection
  • -o
  • --out
mongoexport --db ma_base --collection users --type=csv --fields name,email,age --out users.csv
Description :

Exporte en CSV avec champs spécifiques

Options :
  • --type
  • --fields ⚠️
  • -f ⚠️
mongoexport --db ma_base --collection users --query '{"age": {"$gt": 18}}' --out adults.json
Description :

Exporte avec filtre de requête

Options :
  • -q
  • --query
mongoexport --db ma_base --collection users --limit 100 --out sample.json
Description :

Exporte les 100 premiers documents

Options :
  • --limit
  • --skip
mongoexport --db ma_base --collection users --sort '{"created_at": -1}' --limit 10 --out latest.json
Description :

Exporte les 10 derniers documents

Options :
  • --sort
  • --limit
mongoexport --db ma_base --collection users --jsonFormat canonical
Description :

Exporte au format JSON canonique (types étendus)

Options :
  • --jsonFormat
mongoexport --db ma_base --collection users --pretty --out users.json
Description :

Exporte en JSON formaté (pretty)

Options :
  • --pretty
mongoexport --forceTableScan
Description :

Force un scan de table (si index non utilisable)

Options :
  • --forceTableScan ⚠️
mongoimport
Description :

Importe des données JSON, CSV ou TSV

Options :
  • --host
  • --port
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
  • --db
  • -d
  • --collection
  • -c
  • --file ⚠️
  • --type
  • --jsonArray
  • --fields ⚠️
  • -f ⚠️
  • --fieldFile ⚠️
  • --ignoreBlanks
  • --headerline
  • --columnsHaveTypes
  • --parseGrace
  • --drop
  • --mode
  • --upsert
  • --upsertFields
  • --stopOnError
  • --numInsertionWorkers
  • -j
  • --writeConcern
  • --tls
  • --verbose
  • -v
  • --quiet
  • --help
mongoimport --db ma_base --collection users --file users.json
Description :

Importe un fichier JSON

Options :
  • -d
  • --db
  • -c
  • --collection
  • --file ⚠️
mongoimport --db ma_base --collection users --type csv --headerline --file users.csv
Description :

Importe un CSV avec en-têtes

Options :
  • --type
  • --headerline
mongoimport --db ma_base --collection users --type csv --fields name,email,age --file users.csv
Description :

Importe un CSV sans en-têtes

Options :
  • --type
  • --fields ⚠️
  • -f ⚠️
mongoimport --db ma_base --collection users --jsonArray --file users.json
Description :

Importe un tableau JSON

Options :
  • --jsonArray
mongoimport --db ma_base --collection users --drop --file users.json
Description :

Supprime la collection avant import

Options :
  • --drop
mongoimport --db ma_base --collection users --mode upsert --upsertFields email --file users.json
Description :

Met à jour les documents existants (upsert)

Options :
  • --mode
  • --upsertFields
mongoimport --db ma_base --collection users --mode merge --file users.json
Description :

Fusionne avec les documents existants

Options :
  • --mode
mongoimport --numInsertionWorkers 4 --file users.json
Description :

Importe avec 4 workers parallèles

Options :
  • -j
  • --numInsertionWorkers
mongoimport --stopOnError --file users.json
Description :

Arrête l'import à la première erreur

Options :
  • --stopOnError
mongostat
Description :

Affiche les statistiques en temps réel du serveur

Options :
  • --host
  • --port
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
  • --rowcount ⚠️
  • -n
  • --discover
  • --all
  • --json
  • --noheaders
  • --humanReadable
  • --verbose
  • -v
  • --help
mongostat --rowcount 10
Description :

Affiche 10 lignes de statistiques

Options :
  • -n
  • --rowcount ⚠️
mongostat --json
Description :

Affiche les statistiques au format JSON

Options :
  • --json
mongostat --all
Description :

Affiche toutes les colonnes disponibles

Options :
  • --all
mongostat --humanReadable
Description :

Affiche les tailles en format lisible (KB, MB)

Options :
  • --humanReadable
mongostat --discover
Description :

Découvre tous les nœuds d'un Replica Set

Options :
  • --discover
mongotop
Description :

Affiche le temps passé par collection

Options :
  • --host
  • --port
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
  • --rowcount ⚠️
  • -n
  • --json
  • --locks
  • --help
mongotop --rowcount 10
Description :

Affiche 10 lignes

Options :
  • -n
  • --rowcount ⚠️
mongotop --json
Description :

Affiche au format JSON

Options :
  • --json
mongotop --locks
Description :

Affiche les statistiques de verrous

Options :
  • --locks
mongofiles
Description :

Gère les fichiers dans GridFS

Options :
  • --host
  • --port
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
  • --db
  • -d
  • --local
  • -l
  • --replace ⚠️
  • -r ⚠️
  • --quiet
  • --verbose
  • -v
  • --help
mongofiles --db ma_base put monfichier.txt
Description :

Upload un fichier dans GridFS

Options :
  • -d
  • --db
  • -l
  • --local
  • -r ⚠️
  • --replace ⚠️
mongofiles --db ma_base get monfichier.txt
Description :

Télécharge un fichier depuis GridFS

Options :
  • -d
  • --db
  • -l
  • --local
mongofiles --db ma_base list
Description :

Liste les fichiers dans GridFS

Options :
  • -d
  • --db
  • --filter ⚠️
mongofiles --db ma_base delete monfichier.txt
Description :

Supprime un fichier de GridFS

Options :
  • -d
  • --db
mongofiles --db ma_base search monfichier
Description :

Recherche des fichiers par nom

Options :
  • -d
  • --db
mongofiles --db ma_base put_id '{ "$oid": "..." }' monfichier.txt
Description :

Upload avec un ID personnalisé

Options :
  • put_id
show dbs
Description :

[Shell] Affiche toutes les bases de données

show databases
Description :

[Shell] Alias de show dbs

use ma_base
Description :

[Shell] Change ou crée une base de données

db
Description :

[Shell] Affiche la base de données courante

show collections
Description :

[Shell] Affiche les collections de la base courante

show tables
Description :

[Shell] Alias de show collections

db.createCollection("users")
Description :

[Shell] Crée une collection explicitement

Options :
  • capped
  • size
  • max
  • validator
  • validationLevel
  • validationAction
  • storageEngine
  • collation
db.createCollection("logs", { capped: true, size: 10485760, max: 5000 })
Description :

[Shell] Crée une collection capped (taille fixe)

db.users.drop()
Description :

[Shell] Supprime une collection

db.dropDatabase()
Description :

[Shell] Supprime la base de données courante

db.users.insertOne({ name: "John", age: 30 })
Description :

[Shell] Insère un document

Options :
  • writeConcern
db.users.insertMany([{ name: "John" }, { name: "Jane" }])
Description :

[Shell] Insère plusieurs documents

Options :
  • ordered
  • writeConcern
db.users.insertMany([...], { ordered: false })
Description :

[Shell] Continue l'insertion même après une erreur

Options :
  • ordered
db.users.find()
Description :

[Shell] Trouve tous les documents

db.users.find({ age: 30 })
Description :

[Shell] Filtre par égalité

db.users.find({ age: { $gt: 18 } })
Description :

[Shell] Opérateur $gt (greater than)

Options :
  • $gt ⚠️
  • $gte ⚠️
  • $lt ⚠️
  • $lte ⚠️
  • $eq ⚠️
  • $ne ⚠️
db.users.find({ age: { $in: [20, 30, 40] } })
Description :

[Shell] Opérateur $in

Options :
  • $in ⚠️
  • $nin ⚠️
db.users.find({ $and: [{ age: { $gt: 18 } }, { city: "Paris" }] })
Description :

[Shell] Opérateur logique $and

Options :
  • $and ⚠️
  • $or ⚠️
  • $not ⚠️
  • $nor ⚠️
db.users.find({ "address.city": "Paris" })
Description :

[Shell] Requête sur champ imbriqué

db.users.find({ tags: "mongodb" })
Description :

[Shell] Recherche dans un tableau

db.users.find({ tags: { $all: ["mongodb", "database"] } })
Description :

[Shell] Tableau contenant tous les éléments

Options :
  • $all ⚠️
db.users.find({ tags: { $size: 2 } })
Description :

[Shell] Tableau de taille exacte

Options :
  • $size ⚠️
db.users.find({ tags: { $elemMatch: { $eq: "mongodb" } } })
Description :

[Shell] Filtre sur éléments de tableau

Options :
  • $elemMatch ⚠️
db.users.find({ name: /^J/i })
Description :

[Shell] Expression régulière

Options :
  • $regex ⚠️
  • $options ⚠️
db.users.find({ name: { $regex: /^J/, $options: 'i' } })
Description :

[Shell] Regex avec options ($regex)

Options :
  • $options ⚠️
db.users.find({ age: { $exists: true } })
Description :

[Shell] Champ existant

Options :
  • $exists ⚠️
db.users.find({ age: { $type: "int" } })
Description :

[Shell] Filtre par type BSON

Options :
  • $type ⚠️
db.users.find({ $expr: { $gt: ["$age", "$minAge"] } })
Description :

[Shell] Compare deux champs du document

Options :
  • $expr ⚠️
db.users.find({ $text: { $search: "john developer" } })
Description :

[Shell] Recherche textuelle

Options :
  • $text ⚠️
  • $search ⚠️
  • $language ⚠️
  • $caseSensitive ⚠️
  • $diacriticSensitive ⚠️
db.users.find().limit(10)
Description :

[Shell] Limite le nombre de résultats

Options :
  • limit
db.users.find().skip(20).limit(10)
Description :

[Shell] Pagination (documents 21-30)

Options :
  • skip
  • limit
db.users.find().sort({ age: 1 })
Description :

[Shell] Trie par âge croissant (1 = asc, -1 = desc)

Options :
  • sort
db.users.find().sort({ age: -1, name: 1 })
Description :

[Shell] Trie sur plusieurs champs

Options :
  • sort
db.users.find({}, { name: 1, email: 1, _id: 0 })
Description :

[Shell] Projection (inclut/exclut des champs)

db.users.find({}, { "address.city": 1 })
Description :

[Shell] Projection sur champ imbriqué

db.users.find({ tags: { $slice: 2 } })
Description :

[Shell] Limite le nombre d'éléments d'un tableau

Options :
  • $slice ⚠️
db.users.find({ tags: { $slice: [2, 3] } })
Description :

[Shell] Slice avec skip et limit

Options :
  • $slice ⚠️
db.users.findOne({ _id: ObjectId("...") })
Description :

[Shell] Trouve un seul document

db.users.countDocuments({ age: { $gt: 18 } })
Description :

[Shell] Compte les documents

Options :
  • skip
  • limit
  • hint
db.users.estimatedDocumentCount()
Description :

[Shell] Estimation rapide du nombre de documents

db.users.distinct("city")
Description :

[Shell] Valeurs distinctes d'un champ

Options :
  • query
  • collation
db.users.distinct("city", { age: { $gt: 18 } })
Description :

[Shell] Valeurs distinctes avec filtre

db.users.updateOne({ name: "John" }, { $set: { age: 31 } })
Description :

[Shell] Met à jour un document

Options :
  • upsert
  • writeConcern
  • collation
  • arrayFilters
  • hint
db.users.updateMany({}, { $inc: { age: 1 } })
Description :

[Shell] Met à jour plusieurs documents

Options :
  • upsert
  • writeConcern
  • collation
  • arrayFilters
  • hint
db.users.replaceOne({ name: "John" }, { name: "John", age: 31, city: "Paris" })
Description :

[Shell] Remplace un document entier

Options :
  • upsert
  • writeConcern
  • collation
  • hint
db.users.updateOne({ name: "John" }, { $set: { age: 31 } }, { upsert: true })
Description :

[Shell] Met à jour ou insère si non trouvé

Options :
  • upsert
db.users.updateOne({ name: "John" }, { $set: { "address.city": "Lyon" } })
Description :

[Shell] Met à jour un champ imbriqué (dot notation)

db.users.updateOne({ name: "John" }, { $unset: { age: "" } })
Description :

[Shell] Supprime un champ ($unset)

db.users.updateOne({ name: "John" }, { $rename: { "name": "fullName" } })
Description :

[Shell] Renomme un champ ($rename)

db.users.updateOne({ name: "John" }, { $currentDate: { lastModified: true } })
Description :

[Shell] Définit la date courante ($currentDate)

db.users.updateOne({ name: "John" }, { $inc: { age: 1, "stats.visits": 1 } })
Description :

[Shell] Incrémente des champs ($inc)

db.users.updateOne({ name: "John" }, { $mul: { price: 1.2 } })
Description :

[Shell] Multiplie un champ ($mul)

db.users.updateOne({ name: "John" }, { $min: { age: 25 } })
Description :

[Shell] Met à jour si valeur < existante ($min)

Options :
  • $min ⚠️
  • $max ⚠️
db.users.updateOne({ name: "John" }, { $addToSet: { tags: "mongodb" } })
Description :

[Shell] Ajoute à un tableau si non présent ($addToSet)

Options :
  • $each ⚠️
db.users.updateOne({ name: "John" }, { $push: { tags: "mongodb" } })
Description :

[Shell] Ajoute à un tableau ($push)

Options :
  • $each ⚠️
  • $slice ⚠️
  • $sort ⚠️
  • $position ⚠️
db.users.updateOne({ name: "John" }, { $push: { scores: { $each: [90, 85], $sort: -1, $slice: 5 } } })
Description :

[Shell] $push avec modificateurs

Options :
  • $each ⚠️
  • $sort ⚠️
  • $slice ⚠️
  • $position ⚠️
db.users.updateOne({ name: "John" }, { $pull: { tags: "mongodb" } })
Description :

[Shell] Retire d'un tableau ($pull)

db.users.updateOne({ name: "John" }, { $pull: { scores: { $lt: 60 } } })
Description :

[Shell] Retire avec condition ($pull)

db.users.updateOne({ name: "John" }, { $pop: { tags: 1 } })
Description :

[Shell] Retire le dernier élément (-1 pour premier)

Options :
  • $pop ⚠️
db.users.updateOne({ name: "John" }, [ { $set: { fullName: { $concat: ["$firstName", " ", "$lastName"] } } } ])
Description :

[Shell] Pipeline d'agrégation dans update

db.users.deleteOne({ name: "John" })
Description :

[Shell] Supprime un document

Options :
  • writeConcern
  • collation
  • hint
db.users.deleteMany({ age: { $lt: 18 } })
Description :

[Shell] Supprime plusieurs documents

Options :
  • writeConcern
  • collation
  • hint
db.users.findOneAndUpdate({ name: "John" }, { $set: { age: 31 } }, { returnDocument: "after" })
Description :

[Shell] Met à jour et retourne le document

Options :
  • returnDocument
  • upsert
  • sort
  • projection
db.users.findOneAndReplace({ name: "John" }, { name: "John", age: 31 }, { returnDocument: "after" })
Description :

[Shell] Remplace et retourne le document

Options :
  • returnDocument
  • upsert
  • sort
  • projection
db.users.findOneAndDelete({ name: "John" })
Description :

[Shell] Supprime et retourne le document

Options :
  • sort
  • projection
db.users.bulkWrite([{ insertOne: { document: { name: "John" } } }, { updateOne: { filter: { name: "Jane" }, update: { $set: { age: 25 } } } }, { deleteOne: { filter: { name: "Bob" } } }])
Description :

[Shell] Opérations en masse

Options :
  • ordered
  • writeConcern
db.users.aggregate([{ $match: { age: { $gt: 18 } } }, { $group: { _id: "$city", total: { $sum: 1 } } }])
Description :

[Shell] Pipeline d'agrégation

Options :
  • allowDiskUse
  • collation
  • hint
  • comment
db.users.aggregate([{ $match: { status: "active" } }])
Description :

[Shell] $match - filtre les documents

db.users.aggregate([{ $project: { fullName: { $concat: ["$firstName", " ", "$lastName"] }, age: 1 } }])
Description :

[Shell] $project - transforme les documents

db.users.aggregate([{ $group: { _id: "$city", count: { $sum: 1 }, avgAge: { $avg: "$age" } } }])
Description :

[Shell] $group - regroupe les documents

Options :
  • $sum ⚠️
  • $avg ⚠️
  • $min ⚠️
  • $max ⚠️
  • $first ⚠️
  • $last ⚠️
  • $push ⚠️
  • $addToSet ⚠️
  • $stdDevPop ⚠️
  • $stdDevSamp ⚠️
db.users.aggregate([{ $sort: { age: -1 } }])
Description :

[Shell] $sort - trie les documents

db.users.aggregate([{ $limit: 10 }])
Description :

[Shell] $limit - limite le nombre de documents

db.users.aggregate([{ $skip: 10 }])
Description :

[Shell] $skip - ignore des documents

db.users.aggregate([{ $unwind: "$tags" }])
Description :

[Shell] $unwind - décompose un tableau

Options :
  • path
  • includeArrayIndex
  • preserveNullAndEmptyArrays
db.orders.aggregate([{ $lookup: { from: "users", localField: "userId", foreignField: "_id", as: "user" } }])
Description :

[Shell] $lookup - jointure avec une autre collection

Options :
  • from
  • localField
  • foreignField
  • as
  • let
  • pipeline
db.orders.aggregate([{ $lookup: { from: "users", let: { userId: "$userId" }, pipeline: [{ $match: { $expr: { $eq: ["$_id", "$$userId"] } } }], as: "user" } }])
Description :

[Shell] $lookup avec pipeline

db.users.aggregate([{ $addFields: { fullName: { $concat: ["$firstName", " ", "$lastName"] } } }])
Description :

[Shell] $addFields - ajoute des champs

db.users.aggregate([{ $replaceRoot: { newRoot: "$profile" } }])
Description :

[Shell] $replaceRoot - remplace la racine du document

db.users.aggregate([{ $merge: { into: "active_users", on: "_id", whenMatched: "merge", whenNotMatched: "insert" } }])
Description :

[Shell] $merge - écrit dans une collection

Options :
  • into
  • on
  • whenMatched
  • whenNotMatched
db.users.aggregate([{ $out: "new_collection" }])
Description :

[Shell] $out - écrit dans une nouvelle collection

db.users.aggregate([{ $bucket: { groupBy: "$age", boundaries: [0, 18, 30, 50, 100], default: "Other", output: { count: { $sum: 1 } } } }])
Description :

[Shell] $bucket - répartit en intervalles

db.users.aggregate([{ $facet: { ageStats: [{ $group: { _id: null, avgAge: { $avg: "$age" } } }], cityStats: [{ $group: { _id: "$city", count: { $sum: 1 } } }] } }])
Description :

[Shell] $facet - traitements parallèles

db.users.createIndex({ email: 1 })
Description :

[Shell] Crée un index ascendant

Options :
  • unique
  • name
  • background
  • sparse
  • expireAfterSeconds
  • partialFilterExpression
  • collation
  • hidden
  • storageEngine
  • weights
db.users.createIndex({ email: 1 }, { unique: true })
Description :

[Shell] Crée un index unique

Options :
  • unique
db.users.createIndex({ email: 1 }, { background: true })
Description :

[Shell] Crée un index en arrière-plan

Options :
  • background
db.users.createIndex({ name: "text", description: "text" })
Description :

[Shell] Crée un index textuel

Options :
  • weights
  • default_language
  • language_override
  • textIndexVersion
db.users.createIndex({ location: "2dsphere" })
Description :

[Shell] Crée un index géospatial 2dsphere

db.users.createIndex({ createdAt: 1 }, { expireAfterSeconds: 3600 })
Description :

[Shell] Crée un index TTL (expire après 1h)

Options :
  • expireAfterSeconds
db.users.createIndex({ email: 1 }, { partialFilterExpression: { email: { $exists: true } } })
Description :

[Shell] Crée un index partiel

Options :
  • partialFilterExpression
db.users.createIndex({ email: 1, age: -1 })
Description :

[Shell] Crée un index composé

db.users.createIndex({ email: 1 }, { sparse: true })
Description :

[Shell] Crée un index sparse (ignore les documents sans le champ)

Options :
  • sparse
db.users.createIndex({ "$**": "text" })
Description :

[Shell] Crée un index textuel sur tous les champs texte

db.users.getIndexes()
Description :

[Shell] Liste les index d'une collection

db.users.dropIndex("email_1")
Description :

[Shell] Supprime un index par nom

db.users.dropIndex({ email: 1 })
Description :

[Shell] Supprime un index par spécification

db.users.dropIndexes()
Description :

[Shell] Supprime tous les index (sauf _id)

db.users.hideIndex("email_1")
Description :

[Shell] Masque un index (ne sera plus utilisé)

db.users.unhideIndex("email_1")
Description :

[Shell] Réactive un index masqué

db.users.totalIndexSize()
Description :

[Shell] Taille totale des index

db.users.stats()
Description :

[Shell] Statistiques d'une collection

Options :
  • scale
db.stats()
Description :

[Shell] Statistiques de la base de données

Options :
  • scale
db.serverStatus()
Description :

[Shell] Statistiques du serveur

db.currentOp()
Description :

[Shell] Opérations en cours

Options :
  • $all ⚠️
  • $ownOps ⚠️
db.killOp(opid)
Description :

[Shell] Tue une opération

db.setProfilingLevel(1, { slowms: 100 })
Description :

[Shell] Active le profiling

db.getProfilingLevel()
Description :

[Shell] Affiche le niveau de profiling

db.system.profile.find().sort({ ts: -1 }).limit(5)
Description :

[Shell] Consulte les requêtes profilées

db.users.explain().find({ email: "test@example.com" })
Description :

[Shell] Explique le plan d'exécution

Options :
  • queryPlanner
  • executionStats ⚠️
  • allPlansExecution
db.users.explain("executionStats").find({ email: "test@example.com" })
Description :

[Shell] Explique avec statistiques d'exécution

db.users.aggregate([{ $indexStats: {} }])
Description :

[Shell] Statistiques d'utilisation des index

db.createRole({ role: "readAnyDatabase", privileges: [{ resource: { db: "", collection: "" }, actions: ["find"] }], roles: [] })
Description :

[Shell] Crée un rôle personnalisé

db.updateRole("readAnyDatabase", { privileges: [...] })
Description :

[Shell] Met à jour un rôle

db.dropRole("readAnyDatabase")
Description :

[Shell] Supprime un rôle

show roles
Description :

[Shell] Affiche les rôles disponibles

db.createUser({ user: "appUser", pwd: "password", roles: ["readWrite"] })
Description :

[Shell] Crée un utilisateur

Options :
  • pwd
  • roles
  • mechanisms
  • digestPassword
  • restrictions
  • authenticationRestrictions
db.updateUser("appUser", { roles: ["read"] })
Description :

[Shell] Met à jour un utilisateur

db.changeUserPassword("appUser", "newPassword")
Description :

[Shell] Change le mot de passe

db.dropUser("appUser")
Description :

[Shell] Supprime un utilisateur

show users
Description :

[Shell] Affiche les utilisateurs de la base

db.grantRolesToUser("appUser", ["readWrite"])
Description :

[Shell] Ajoute des rôles à un utilisateur

db.revokeRolesFromUser("appUser", ["readWrite"])
Description :

[Shell] Retire des rôles

db.getUser("appUser")
Description :

[Shell] Affiche les détails d'un utilisateur

rs.initiate()
Description :

[Shell] Initialise un Replica Set

Options :
  • _id
  • members
  • protocolVersion
  • settings
rs.initiate({ _id: "rs0", members: [{ _id: 0, host: "localhost:27017" }] })
Description :

[Shell] Initialise avec configuration

rs.status()
Description :

[Shell] Statut du Replica Set

rs.conf()
Description :

[Shell] Configuration du Replica Set

rs.reconfig(cfg)
Description :

[Shell] Reconfigure le Replica Set

Options :
  • force
rs.add("localhost:27018")
Description :

[Shell] Ajoute un membre au Replica Set

rs.remove("localhost:27018")
Description :

[Shell] Retire un membre

rs.stepDown()
Description :

[Shell] Le primary devient secondary

Options :
  • stepDownSecs
  • secondaryCatchUpPeriodSecs
  • force
rs.freeze(60)
Description :

[Shell] Empêche l'élection pendant 60 secondes

rs.printReplicationInfo()
Description :

[Shell] Informations sur l'oplog

rs.printSecondaryReplicationInfo()
Description :

[Shell] Lag de réplication des secondaries

sh.status()
Description :

[Shell] Statut du sharding

sh.enableSharding("ma_base")
Description :

[Shell] Active le sharding sur une base

sh.shardCollection("ma_base.users", { _id: "hashed" })
Description :

[Shell] Sharde une collection (hashed)

sh.shardCollection("ma_base.users", { city: 1 })
Description :

[Shell] Sharde une collection (range)

sh.addShard("rs1/localhost:27018")
Description :

[Shell] Ajoute un shard

sh.addShardTag("shard0000", "europe")
Description :

[Shell] Ajoute un tag à un shard

sh.addTagRange("ma_base.users", { city: "Paris" }, { city: "Z" }, "europe")
Description :

[Shell] Associe une plage à un tag

sh.getBalancerState()
Description :

[Shell] État du balancer

sh.setBalancerState(true)
Description :

[Shell] Active/désactive le balancer

sh.startBalancer()
Description :

[Shell] Démarre le balancer

sh.stopBalancer()
Description :

[Shell] Arrête le balancer

sh.moveChunk("ma_base.users", { city: "Paris" }, "shard0001")
Description :

[Shell] Déplace un chunk manuellement

sh.splitAt("ma_base.users", { city: "M" })
Description :

[Shell] Divise un chunk

db.users.getShardDistribution()
Description :

[Shell] Distribution des données par shard

session = db.getMongo().startSession()
Description :

[Shell] Démarre une session

session.startTransaction()
Description :

[Shell] Démarre une transaction

Options :
  • readConcern
  • writeConcern
  • readPreference
  • maxCommitTime
session.commitTransaction()
Description :

[Shell] Valide une transaction

session.abortTransaction()
Description :

[Shell] Annule une transaction

session.endSession()
Description :

[Shell] Termine une session

db.getCollectionInfos()
Description :

[Shell] Informations sur les collections

Options :
  • filter
db.getCollectionNames()
Description :

[Shell] Noms des collections

db.users.renameCollection("clients")
Description :

[Shell] Renomme une collection

Options :
  • dropTarget
db.cloneCollection("localhost:27018", "users", { active: true })
Description :

[Shell] Clone une collection depuis un autre serveur

db.users.mapReduce(mapFunction, reduceFunction, { out: "results" })
Description :

[Shell] Map-Reduce (déprécié, utiliser aggregation)

db.users.watch()
Description :

[Shell] Change Stream - surveille les changements

Options :
  • fullDocument
  • resumeAfter
  • startAfter
  • startAtOperationTime
db.users.validate({ full: true })
Description :

[Shell] Valide une collection

Options :
  • full
  • repair
db.users.compact()
Description :

[Shell] Compacte une collection (WiredTiger)

db.repairDatabase()
Description :

[Shell] Répare la base de données

db.runCommand({ ping: 1 })
Description :

[Shell] Exécute une commande administrateur

db.runCommand({ buildInfo: 1 })
Description :

[Shell] Informations sur le build

db.runCommand({ hostInfo: 1 })
Description :

[Shell] Informations sur l'hôte

db.runCommand({ listDatabases: 1 })
Description :

[Shell] Liste les bases (admin)

Options :
  • nameOnly
  • filter
  • authorizedDatabases
db.runCommand({ collStats: "users", scale: 1024 })
Description :

[Shell] Statistiques de collection

db.runCommand({ dbStats: 1, scale: 1024 })
Description :

[Shell] Statistiques de base

db.runCommand({ createIndexes: "users", indexes: [{ key: { email: 1 }, name: "email_1", unique: true }] })
Description :

[Shell] Crée des index via commande

db.runCommand({ listIndexes: "users" })
Description :

[Shell] Liste les index via commande

db.runCommand({ dropIndexes: "users", index: "email_1" })
Description :

[Shell] Supprime un index via commande

db.adminCommand({ setParameter: 1, logLevel: 1 })
Description :

[Shell] Change le niveau de log

db.adminCommand({ getLog: "global" })
Description :

[Shell] Récupère les logs récents

db.adminCommand({ rotateLogs: 1 })
Description :

[Shell] Rotation des logs

db.adminCommand({ shutdown: 1 })
Description :

[Shell] Arrête le serveur MongoDB

Options :
  • force
  • timeoutSecs

Partager