Mongodb - Commandes et scripts d'administration de bases de données

🏷️ Lignes des commandes 📅 03/04/2026 10:00:00 👤 Mezgani said
Bd Mongodb Mongod Mongoimport Mongoexport Mongocheck Mongodump Mongorestore Mongobinlog Shell Admin Mongodb Client Mongodb

Maîtrisez Mongodb pour administrer vos bases de données. Commandes CLI, scripting d'automatisation et gestion des bases de données non relationnelles.

Ligne de commande :
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

Ligne de commande :
mongosh "mongodb://localhost:27017"
Description :

Se connecte via URI MongoDB

Options :
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase

Ligne de commande :
mongosh -u admin -p --authenticationDatabase admin
Description :

Connexion avec authentification

Options :
  • --host
  • --port

Ligne de commande :
mongosh --quiet
Description :

Lance le shell sans messages de démarrage

Options :
  • --quiet

Ligne de commande :
mongosh --eval "db.stats()"
Description :

Exécute une commande JavaScript et quitte

Options :
  • --eval

Ligne de commande :
mongosh --file script.js
Description :

Exécute un fichier JavaScript

Options :
  • -f
  • --file

Ligne de commande :
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

Ligne de commande :
mongod --dbpath /data/db
Description :

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

Options :
  • --dbpath

Ligne de commande :
mongod --port 27018 --dbpath /data/db
Description :

Démarre sur un port personnalisé

Options :
  • --port
  • --dbpath

Ligne de commande :
mongod --bind_ip localhost,192.168.1.100
Description :

Écoute sur des IP spécifiques

Options :
  • --bind_ip

Ligne de commande :
mongod --bind_ip_all
Description :

Écoute sur toutes les interfaces réseau

Options :
  • --bind_ip_all

Ligne de commande :
mongod --replSet rs0
Description :

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

Options :
  • --replSet

Ligne de commande :
mongod --config /etc/mongod.conf
Description :

Démarre avec un fichier de configuration

Options :
  • -f
  • --config

Ligne de commande :
mongod --fork --logpath /var/log/mongodb/mongod.log
Description :

Démarre en arrière-plan avec logs

Options :
  • --fork
  • --logpath
  • --logappend

Ligne de commande :
mongod --auth
Description :

Active l'authentification

Options :
  • --auth
  • --keyFile

Ligne de commande :
mongod --storageEngine wiredTiger --wiredTigerCacheSizeGB 2
Description :

Définit le cache WiredTiger à 2 Go

Options :
  • --storageEngine
  • --wiredTigerCacheSizeGB

Ligne de commande :
mongod --directoryperdb
Description :

Stocke chaque base dans son propre dossier

Options :
  • --directoryperdb

Ligne de commande :
mongod --profile 1 --slowms 100
Description :

Active le profiling des requêtes > 100ms

Options :
  • --profile
  • --slowms

Ligne de commande :
mongod --setParameter failIndexKeyTooLong=false
Description :

Désactive l'erreur sur index trop long

Options :
  • --setParameter

Ligne de commande :
mongos
Description :

Démarre le routeur MongoDB (pour sharding)

Options :
  • --configdb
  • --port
  • --bind_ip
  • --logpath
  • --fork
  • --keyFile
  • --help

Ligne de commande :
mongos --configdb configReplSet/localhost:27019
Description :

Démarre mongos avec Config Servers

Options :
  • --configdb
  • --port
  • --bind_ip

Ligne de commande :
mongo
Description :

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

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

Ligne de commande :
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

Ligne de commande :
mongodump --db ma_base --out /backup/
Description :

Sauvegarde une base spécifique

Options :
  • -d
  • --db
  • -o
  • --out

Ligne de commande :
mongodump --collection users --db ma_base --out /backup/
Description :

Sauvegarde une collection spécifique

Options :
  • -c
  • --collection
  • -d
  • --db
  • -o
  • --out

Ligne de commande :
mongodump --archive=backup.archive
Description :

Sauvegarde au format archive

Options :
  • --archive

Ligne de commande :
mongodump --gzip --archive=backup.gz
Description :

Sauvegarde compressée au format archive

Options :
  • --gzip
  • --archive

Ligne de commande :
mongodump --query='{"age": {"$gt": 18}}' --db ma_base --collection users
Description :

Sauvegarde avec filtre de requête

Options :
  • -q
  • --query

Ligne de commande :
mongodump --oplog
Description :

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

Options :
  • --oplog

Ligne de commande :
mongodump --excludeCollection logs --db ma_base
Description :

Exclut une collection de la sauvegarde

Options :
  • --excludeCollection

Ligne de commande :
mongodump --numParallelCollections 4
Description :

Sauvegarde avec 4 threads parallèles

Options :
  • -j
  • --numParallelCollections

Ligne de commande :
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

Ligne de commande :
mongorestore /backup/ma_base
Description :

Restaure une base depuis un dossier

Options :
  • --db
  • -d
  • --drop

Ligne de commande :
mongorestore --db ma_base --collection users /backup/ma_base/users.bson
Description :

Restaure une collection spécifique

Options :
  • -d
  • --db
  • -c
  • --collection

Ligne de commande :
mongorestore --drop /backup/ma_base
Description :

Supprime les collections existantes avant restauration

Options :
  • --drop

Ligne de commande :
mongorestore --archive=backup.archive
Description :

Restaure depuis une archive

Options :
  • --archive
  • --gzip

Ligne de commande :
mongorestore --gzip --archive=backup.gz
Description :

Restaure depuis une archive compressée

Options :
  • --gzip
  • --archive

Ligne de commande :
mongorestore --oplogReplay
Description :

Rejoue l'oplog pour restauration point-in-time

Options :
  • --oplogReplay

Ligne de commande :
mongorestore --numInsertionWorkersPerCollection 4
Description :

Restaure avec 4 workers par collection

Options :
  • -j
  • --numInsertionWorkersPerCollection

Ligne de commande :
mongorestore --dryRun /backup/ma_base
Description :

Simule la restauration sans écrire

Options :
  • --dryRun

Ligne de commande :
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

Ligne de commande :
mongoexport --db ma_base --collection users --out users.json
Description :

Exporte une collection en JSON

Options :
  • -d
  • --db
  • -c
  • --collection
  • -o
  • --out

Ligne de commande :
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

Ligne de commande :
mongoexport --db ma_base --collection users --query '{"age": {"$gt": 18}}' --out adults.json
Description :

Exporte avec filtre de requête

Options :
  • -q
  • --query

Ligne de commande :
mongoexport --db ma_base --collection users --limit 100 --out sample.json
Description :

Exporte les 100 premiers documents

Options :
  • --limit
  • --skip

Ligne de commande :
mongoexport --db ma_base --collection users --sort '{"created_at": -1}' --limit 10 --out latest.json
Description :

Exporte les 10 derniers documents

Options :
  • --sort
  • --limit

Ligne de commande :
mongoexport --db ma_base --collection users --jsonFormat canonical
Description :

Exporte au format JSON canonique (types étendus)

Options :
  • --jsonFormat

Ligne de commande :
mongoexport --db ma_base --collection users --pretty --out users.json
Description :

Exporte en JSON formaté (pretty)

Options :
  • --pretty

Ligne de commande :
mongoexport --forceTableScan
Description :

Force un scan de table (si index non utilisable)

Options :
  • --forceTableScan

Ligne de commande :
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

Ligne de commande :
mongoimport --db ma_base --collection users --file users.json
Description :

Importe un fichier JSON

Options :
  • -d
  • --db
  • -c
  • --collection
  • --file

Ligne de commande :
mongoimport --db ma_base --collection users --type csv --headerline --file users.csv
Description :

Importe un CSV avec en-têtes

Options :
  • --type
  • --headerline

Ligne de commande :
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

Ligne de commande :
mongoimport --db ma_base --collection users --jsonArray --file users.json
Description :

Importe un tableau JSON

Options :
  • --jsonArray

Ligne de commande :
mongoimport --db ma_base --collection users --drop --file users.json
Description :

Supprime la collection avant import

Options :
  • --drop

Ligne de commande :
mongoimport --db ma_base --collection users --mode upsert --upsertFields email --file users.json
Description :

Met à jour les documents existants (upsert)

Options :
  • --mode
  • --upsertFields

Ligne de commande :
mongoimport --db ma_base --collection users --mode merge --file users.json
Description :

Fusionne avec les documents existants

Options :
  • --mode

Ligne de commande :
mongoimport --numInsertionWorkers 4 --file users.json
Description :

Importe avec 4 workers parallèles

Options :
  • -j
  • --numInsertionWorkers

Ligne de commande :
mongoimport --stopOnError --file users.json
Description :

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

Options :
  • --stopOnError

Ligne de commande :
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

Ligne de commande :
mongostat --rowcount 10
Description :

Affiche 10 lignes de statistiques

Options :
  • -n
  • --rowcount

Ligne de commande :
mongostat --json
Description :

Affiche les statistiques au format JSON

Options :
  • --json

Ligne de commande :
mongostat --all
Description :

Affiche toutes les colonnes disponibles

Options :
  • --all

Ligne de commande :
mongostat --humanReadable
Description :

Affiche les tailles en format lisible (KB, MB)

Options :
  • --humanReadable

Ligne de commande :
mongostat --discover
Description :

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

Options :
  • --discover

Ligne de commande :
mongotop
Description :

Affiche le temps passé par collection

Options :
  • --host
  • --port
  • --username
  • -u
  • --password
  • -p
  • --authenticationDatabase
  • --rowcount
  • -n
  • --json
  • --locks
  • --help

Ligne de commande :
mongotop --rowcount 10
Description :

Affiche 10 lignes

Options :
  • -n
  • --rowcount

Ligne de commande :
mongotop --json
Description :

Affiche au format JSON

Options :
  • --json

Ligne de commande :
mongotop --locks
Description :

Affiche les statistiques de verrous

Options :
  • --locks

Ligne de commande :
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

Ligne de commande :
mongofiles --db ma_base put monfichier.txt
Description :

Upload un fichier dans GridFS

Options :
  • -d
  • --db
  • -l
  • --local
  • -r
  • --replace

Ligne de commande :
mongofiles --db ma_base get monfichier.txt
Description :

Télécharge un fichier depuis GridFS

Options :
  • -d
  • --db
  • -l
  • --local

Ligne de commande :
mongofiles --db ma_base list
Description :

Liste les fichiers dans GridFS

Options :
  • -d
  • --db
  • --filter

Ligne de commande :
mongofiles --db ma_base delete monfichier.txt
Description :

Supprime un fichier de GridFS

Options :
  • -d
  • --db

Ligne de commande :
mongofiles --db ma_base search monfichier
Description :

Recherche des fichiers par nom

Options :
  • -d
  • --db

Ligne de commande :
mongofiles --db ma_base put_id '{ "$oid": "..." }' monfichier.txt
Description :

Upload avec un ID personnalisé

Options :
  • put_id

Ligne de commande :
show dbs
Description :

[Shell] Affiche toutes les bases de données

Ligne de commande :
show databases
Description :

[Shell] Alias de show dbs

Ligne de commande :
use ma_base
Description :

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

Ligne de commande :
db
Description :

[Shell] Affiche la base de données courante

Ligne de commande :
show collections
Description :

[Shell] Affiche les collections de la base courante

Ligne de commande :
show tables
Description :

[Shell] Alias de show collections

Ligne de commande :
db.createCollection("users")
Description :

[Shell] Crée une collection explicitement

Options :
  • capped
  • size
  • max
  • validator
  • validationLevel
  • validationAction
  • storageEngine
  • collation

Ligne de commande :
db.createCollection("logs", { capped: true, size: 10485760, max: 5000 })
Description :

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

Ligne de commande :
db.users.drop()
Description :

[Shell] Supprime une collection

Ligne de commande :
db.dropDatabase()
Description :

[Shell] Supprime la base de données courante

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

[Shell] Insère un document

Options :
  • writeConcern

Ligne de commande :
db.users.insertMany([{ name: "John" }, { name: "Jane" }])
Description :

[Shell] Insère plusieurs documents

Options :
  • ordered
  • writeConcern

Ligne de commande :
db.users.insertMany([...], { ordered: false })
Description :

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

Options :
  • ordered

Ligne de commande :
db.users.find()
Description :

[Shell] Trouve tous les documents

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

[Shell] Filtre par égalité

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

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

Options :
  • $gt
  • $gte
  • $lt
  • $lte
  • $eq
  • $ne

Ligne de commande :
db.users.find({ age: { $in: [20, 30, 40] } })
Description :

[Shell] Opérateur $in

Options :
  • $in
  • $nin

Ligne de commande :
db.users.find({ $and: [{ age: { $gt: 18 } }, { city: "Paris" }] })
Description :

[Shell] Opérateur logique $and

Options :
  • $and
  • $or
  • $not
  • $nor

Ligne de commande :
db.users.find({ "address.city": "Paris" })
Description :

[Shell] Requête sur champ imbriqué

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

[Shell] Recherche dans un tableau

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

[Shell] Tableau contenant tous les éléments

Options :
  • $all

Ligne de commande :
db.users.find({ tags: { $size: 2 } })
Description :

[Shell] Tableau de taille exacte

Options :
  • $size

Ligne de commande :
db.users.find({ tags: { $elemMatch: { $eq: "mongodb" } } })
Description :

[Shell] Filtre sur éléments de tableau

Options :
  • $elemMatch

Ligne de commande :
db.users.find({ name: /^J/i })
Description :

[Shell] Expression régulière

Options :
  • $regex
  • $options

Ligne de commande :
db.users.find({ name: { $regex: /^J/, $options: 'i' } })
Description :

[Shell] Regex avec options ($regex)

Options :
  • $options

Ligne de commande :
db.users.find({ age: { $exists: true } })
Description :

[Shell] Champ existant

Options :
  • $exists

Ligne de commande :
db.users.find({ age: { $type: "int" } })
Description :

[Shell] Filtre par type BSON

Options :
  • $type

Ligne de commande :
db.users.find({ $expr: { $gt: ["$age", "$minAge"] } })
Description :

[Shell] Compare deux champs du document

Options :
  • $expr

Ligne de commande :
db.users.find({ $text: { $search: "john developer" } })
Description :

[Shell] Recherche textuelle

Options :
  • $text
  • $search
  • $language
  • $caseSensitive
  • $diacriticSensitive

Ligne de commande :
db.users.find().limit(10)
Description :

[Shell] Limite le nombre de résultats

Options :
  • limit

Ligne de commande :
db.users.find().skip(20).limit(10)
Description :

[Shell] Pagination (documents 21-30)

Options :
  • skip
  • limit

Ligne de commande :
db.users.find().sort({ age: 1 })
Description :

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

Options :
  • sort

Ligne de commande :
db.users.find().sort({ age: -1, name: 1 })
Description :

[Shell] Trie sur plusieurs champs

Options :
  • sort

Ligne de commande :
db.users.find({}, { name: 1, email: 1, _id: 0 })
Description :

[Shell] Projection (inclut/exclut des champs)

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

[Shell] Projection sur champ imbriqué

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

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

Options :
  • $slice

Ligne de commande :
db.users.find({ tags: { $slice: [2, 3] } })
Description :

[Shell] Slice avec skip et limit

Options :
  • $slice

Ligne de commande :
db.users.findOne({ _id: ObjectId("...") })
Description :

[Shell] Trouve un seul document

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

[Shell] Compte les documents

Options :
  • skip
  • limit
  • hint

Ligne de commande :
db.users.estimatedDocumentCount()
Description :

[Shell] Estimation rapide du nombre de documents

Ligne de commande :
db.users.distinct("city")
Description :

[Shell] Valeurs distinctes d'un champ

Options :
  • query
  • collation

Ligne de commande :
db.users.distinct("city", { age: { $gt: 18 } })
Description :

[Shell] Valeurs distinctes avec filtre

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

[Shell] Met à jour un document

Options :
  • upsert
  • writeConcern
  • collation
  • arrayFilters
  • hint

Ligne de commande :
db.users.updateMany({}, { $inc: { age: 1 } })
Description :

[Shell] Met à jour plusieurs documents

Options :
  • upsert
  • writeConcern
  • collation
  • arrayFilters
  • hint

Ligne de commande :
db.users.replaceOne({ name: "John" }, { name: "John", age: 31, city: "Paris" })
Description :

[Shell] Remplace un document entier

Options :
  • upsert
  • writeConcern
  • collation
  • hint

Ligne de commande :
db.users.updateOne({ name: "John" }, { $set: { age: 31 } }, { upsert: true })
Description :

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

Options :
  • upsert

Ligne de commande :
db.users.updateOne({ name: "John" }, { $set: { "address.city": "Lyon" } })
Description :

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

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

[Shell] Supprime un champ ($unset)

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

[Shell] Renomme un champ ($rename)

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

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

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

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

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

[Shell] Multiplie un champ ($mul)

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

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

Options :
  • $min
  • $max

Ligne de commande :
db.users.updateOne({ name: "John" }, { $addToSet: { tags: "mongodb" } })
Description :

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

Options :
  • $each

Ligne de commande :
db.users.updateOne({ name: "John" }, { $push: { tags: "mongodb" } })
Description :

[Shell] Ajoute à un tableau ($push)

Options :
  • $each
  • $slice
  • $sort
  • $position

Ligne de commande :
db.users.updateOne({ name: "John" }, { $push: { scores: { $each: [90, 85], $sort: -1, $slice: 5 } } })
Description :

[Shell] $push avec modificateurs

Options :
  • $each
  • $sort
  • $slice
  • $position

Ligne de commande :
db.users.updateOne({ name: "John" }, { $pull: { tags: "mongodb" } })
Description :

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

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

[Shell] Retire avec condition ($pull)

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

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

Options :
  • $pop

Ligne de commande :
db.users.updateOne({ name: "John" }, [ { $set: { fullName: { $concat: ["$firstName", " ", "$lastName"] } } } ])
Description :

[Shell] Pipeline d'agrégation dans update

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

[Shell] Supprime un document

Options :
  • writeConcern
  • collation
  • hint

Ligne de commande :
db.users.deleteMany({ age: { $lt: 18 } })
Description :

[Shell] Supprime plusieurs documents

Options :
  • writeConcern
  • collation
  • hint

Ligne de commande :
db.users.findOneAndUpdate({ name: "John" }, { $set: { age: 31 } }, { returnDocument: "after" })
Description :

[Shell] Met à jour et retourne le document

Options :
  • returnDocument
  • upsert
  • sort
  • projection

Ligne de commande :
db.users.findOneAndReplace({ name: "John" }, { name: "John", age: 31 }, { returnDocument: "after" })
Description :

[Shell] Remplace et retourne le document

Options :
  • returnDocument
  • upsert
  • sort
  • projection

Ligne de commande :
db.users.findOneAndDelete({ name: "John" })
Description :

[Shell] Supprime et retourne le document

Options :
  • sort
  • projection

Ligne de commande :
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

Ligne de commande :
db.users.aggregate([{ $match: { age: { $gt: 18 } } }, { $group: { _id: "$city", total: { $sum: 1 } } }])
Description :

[Shell] Pipeline d'agrégation

Options :
  • allowDiskUse
  • collation
  • hint
  • comment

Ligne de commande :
db.users.aggregate([{ $match: { status: "active" } }])
Description :

[Shell] $match - filtre les documents

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

[Shell] $project - transforme les documents

Ligne de commande :
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

Ligne de commande :
db.users.aggregate([{ $sort: { age: -1 } }])
Description :

[Shell] $sort - trie les documents

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

[Shell] $limit - limite le nombre de documents

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

[Shell] $skip - ignore des documents

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

[Shell] $unwind - décompose un tableau

Options :
  • path
  • includeArrayIndex
  • preserveNullAndEmptyArrays

Ligne de commande :
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

Ligne de commande :
db.orders.aggregate([{ $lookup: { from: "users", let: { userId: "$userId" }, pipeline: [{ $match: { $expr: { $eq: ["$_id", "$$userId"] } } }], as: "user" } }])
Description :

[Shell] $lookup avec pipeline

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

[Shell] $addFields - ajoute des champs

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

[Shell] $replaceRoot - remplace la racine du document

Ligne de commande :
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

Ligne de commande :
db.users.aggregate([{ $out: "new_collection" }])
Description :

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

Ligne de commande :
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

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

[Shell] $facet - traitements parallèles

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

[Shell] Crée un index ascendant

Options :
  • unique
  • name
  • background
  • sparse
  • expireAfterSeconds
  • partialFilterExpression
  • collation
  • hidden
  • storageEngine
  • weights

Ligne de commande :
db.users.createIndex({ email: 1 }, { unique: true })
Description :

[Shell] Crée un index unique

Options :
  • unique

Ligne de commande :
db.users.createIndex({ email: 1 }, { background: true })
Description :

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

Options :
  • background

Ligne de commande :
db.users.createIndex({ name: "text", description: "text" })
Description :

[Shell] Crée un index textuel

Options :
  • weights
  • default_language
  • language_override
  • textIndexVersion

Ligne de commande :
db.users.createIndex({ location: "2dsphere" })
Description :

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

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

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

Options :
  • expireAfterSeconds

Ligne de commande :
db.users.createIndex({ email: 1 }, { partialFilterExpression: { email: { $exists: true } } })
Description :

[Shell] Crée un index partiel

Options :
  • partialFilterExpression

Ligne de commande :
db.users.createIndex({ email: 1, age: -1 })
Description :

[Shell] Crée un index composé

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

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

Options :
  • sparse

Ligne de commande :
db.users.createIndex({ "$**": "text" })
Description :

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

Ligne de commande :
db.users.getIndexes()
Description :

[Shell] Liste les index d'une collection

Ligne de commande :
db.users.dropIndex("email_1")
Description :

[Shell] Supprime un index par nom

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

[Shell] Supprime un index par spécification

Ligne de commande :
db.users.dropIndexes()
Description :

[Shell] Supprime tous les index (sauf _id)

Ligne de commande :
db.users.hideIndex("email_1")
Description :

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

Ligne de commande :
db.users.unhideIndex("email_1")
Description :

[Shell] Réactive un index masqué

Ligne de commande :
db.users.totalIndexSize()
Description :

[Shell] Taille totale des index

Ligne de commande :
db.users.stats()
Description :

[Shell] Statistiques d'une collection

Options :
  • scale

Ligne de commande :
db.stats()
Description :

[Shell] Statistiques de la base de données

Options :
  • scale

Ligne de commande :
db.serverStatus()
Description :

[Shell] Statistiques du serveur

Ligne de commande :
db.currentOp()
Description :

[Shell] Opérations en cours

Options :
  • $all
  • $ownOps

Ligne de commande :
db.killOp(opid)
Description :

[Shell] Tue une opération

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

[Shell] Active le profiling

Ligne de commande :
db.getProfilingLevel()
Description :

[Shell] Affiche le niveau de profiling

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

[Shell] Consulte les requêtes profilées

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

[Shell] Explique le plan d'exécution

Options :
  • queryPlanner
  • executionStats
  • allPlansExecution

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

[Shell] Explique avec statistiques d'exécution

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

[Shell] Statistiques d'utilisation des index

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

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

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

[Shell] Met à jour un rôle

Ligne de commande :
db.dropRole("readAnyDatabase")
Description :

[Shell] Supprime un rôle

Ligne de commande :
show roles
Description :

[Shell] Affiche les rôles disponibles

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

[Shell] Crée un utilisateur

Options :
  • pwd
  • roles
  • mechanisms
  • digestPassword
  • restrictions
  • authenticationRestrictions

Ligne de commande :
db.updateUser("appUser", { roles: ["read"] })
Description :

[Shell] Met à jour un utilisateur

Ligne de commande :
db.changeUserPassword("appUser", "newPassword")
Description :

[Shell] Change le mot de passe

Ligne de commande :
db.dropUser("appUser")
Description :

[Shell] Supprime un utilisateur

Ligne de commande :
show users
Description :

[Shell] Affiche les utilisateurs de la base

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

[Shell] Ajoute des rôles à un utilisateur

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

[Shell] Retire des rôles

Ligne de commande :
db.getUser("appUser")
Description :

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

Ligne de commande :
rs.initiate()
Description :

[Shell] Initialise un Replica Set

Options :
  • _id
  • members
  • protocolVersion
  • settings

Ligne de commande :
rs.initiate({ _id: "rs0", members: [{ _id: 0, host: "localhost:27017" }] })
Description :

[Shell] Initialise avec configuration

Ligne de commande :
rs.status()
Description :

[Shell] Statut du Replica Set

Ligne de commande :
rs.conf()
Description :

[Shell] Configuration du Replica Set

Ligne de commande :
rs.reconfig(cfg)
Description :

[Shell] Reconfigure le Replica Set

Options :
  • force

Ligne de commande :
rs.add("localhost:27018")
Description :

[Shell] Ajoute un membre au Replica Set

Ligne de commande :
rs.remove("localhost:27018")
Description :

[Shell] Retire un membre

Ligne de commande :
rs.stepDown()
Description :

[Shell] Le primary devient secondary

Options :
  • stepDownSecs
  • secondaryCatchUpPeriodSecs
  • force

Ligne de commande :
rs.freeze(60)
Description :

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

Ligne de commande :
rs.printReplicationInfo()
Description :

[Shell] Informations sur l'oplog

Ligne de commande :
rs.printSecondaryReplicationInfo()
Description :

[Shell] Lag de réplication des secondaries

Ligne de commande :
sh.status()
Description :

[Shell] Statut du sharding

Ligne de commande :
sh.enableSharding("ma_base")
Description :

[Shell] Active le sharding sur une base

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

[Shell] Sharde une collection (hashed)

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

[Shell] Sharde une collection (range)

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

[Shell] Ajoute un shard

Ligne de commande :
sh.addShardTag("shard0000", "europe")
Description :

[Shell] Ajoute un tag à un shard

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

[Shell] Associe une plage à un tag

Ligne de commande :
sh.getBalancerState()
Description :

[Shell] État du balancer

Ligne de commande :
sh.setBalancerState(true)
Description :

[Shell] Active/désactive le balancer

Ligne de commande :
sh.startBalancer()
Description :

[Shell] Démarre le balancer

Ligne de commande :
sh.stopBalancer()
Description :

[Shell] Arrête le balancer

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

[Shell] Déplace un chunk manuellement

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

[Shell] Divise un chunk

Ligne de commande :
db.users.getShardDistribution()
Description :

[Shell] Distribution des données par shard

Ligne de commande :
session = db.getMongo().startSession()
Description :

[Shell] Démarre une session

Ligne de commande :
session.startTransaction()
Description :

[Shell] Démarre une transaction

Options :
  • readConcern
  • writeConcern
  • readPreference
  • maxCommitTime

Ligne de commande :
session.commitTransaction()
Description :

[Shell] Valide une transaction

Ligne de commande :
session.abortTransaction()
Description :

[Shell] Annule une transaction

Ligne de commande :
session.endSession()
Description :

[Shell] Termine une session

Ligne de commande :
db.getCollectionInfos()
Description :

[Shell] Informations sur les collections

Options :
  • filter

Ligne de commande :
db.getCollectionNames()
Description :

[Shell] Noms des collections

Ligne de commande :
db.users.renameCollection("clients")
Description :

[Shell] Renomme une collection

Options :
  • dropTarget

Ligne de commande :
db.cloneCollection("localhost:27018", "users", { active: true })
Description :

[Shell] Clone une collection depuis un autre serveur

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

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

Ligne de commande :
db.users.watch()
Description :

[Shell] Change Stream - surveille les changements

Options :
  • fullDocument
  • resumeAfter
  • startAfter
  • startAtOperationTime

Ligne de commande :
db.users.validate({ full: true })
Description :

[Shell] Valide une collection

Options :
  • full
  • repair

Ligne de commande :
db.users.compact()
Description :

[Shell] Compacte une collection (WiredTiger)

Ligne de commande :
db.repairDatabase()
Description :

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

Ligne de commande :
db.runCommand({ ping: 1 })
Description :

[Shell] Exécute une commande administrateur

Ligne de commande :
db.runCommand({ buildInfo: 1 })
Description :

[Shell] Informations sur le build

Ligne de commande :
db.runCommand({ hostInfo: 1 })
Description :

[Shell] Informations sur l'hôte

Ligne de commande :
db.runCommand({ listDatabases: 1 })
Description :

[Shell] Liste les bases (admin)

Options :
  • nameOnly
  • filter
  • authorizedDatabases

Ligne de commande :
db.runCommand({ collStats: "users", scale: 1024 })
Description :

[Shell] Statistiques de collection

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

[Shell] Statistiques de base

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

[Shell] Crée des index via commande

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

[Shell] Liste les index via commande

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

[Shell] Supprime un index via commande

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

[Shell] Change le niveau de log

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

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

Ligne de commande :
db.adminCommand({ rotateLogs: 1 })
Description :

[Shell] Rotation des logs

Ligne de commande :
db.adminCommand({ shutdown: 1 })
Description :

[Shell] Arrête le serveur MongoDB

Options :
  • force
  • timeoutSecs