Mongo cli
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Shell moderne | mongosh
|
| Shell historique | mongo (retiré depuis MongoDB 6.0)
|
| Export/import | mongodump / mongorestore
|
| Voir aussi | MongoDB · Mongo init · Mongodb php |
Le shell mongo (remplacé par mongosh dans les versions récentes de MongoDB) est la console interactive JavaScript permettant de se connecter à une instance, de naviguer dans les bases/collections et d'exécuter des commandes d'administration ou de manipulation de documents.
Connexion
mongosh
# ou, sur une installation ancienne :
mongo
La connexion peut aussi se faire par programmation depuis le shell, via le constructeur
Mongo() puis getDB() :
var conn = new Mongo();
var db = conn.getDB("mabase");
db
show collections
Rechercher des documents
// Recherche avec projection : exclut le champ "comments" du résultat
db.articles.find({ titre: "MongoDB exemple" }, { comments: 0 });
Commandes de la console
| Commande | Effet |
|---|---|
help |
affiche l'aide de la console |
show dbs |
liste les bases de données |
show collections |
liste les collections de la base courante |
show users |
liste les utilisateurs de la base courante |
use <base> |
bascule la base courante |
it |
réaffiche le résultat de la dernière commande (pour itérer un curseur) |
Méthodes de base de données (db.*)
| Méthode | Effet |
|---|---|
db.createUser(user) |
crée un utilisateur (remplace l'ancien db.addUser(), retiré)
|
db.auth(user, pwd) |
authentification sur la connexion courante |
db.getCollectionNames() |
liste les collections |
db.createCollection(name, options) |
crée une collection (utile pour une collection cappée/taille fixe) |
db.currentOp() |
affiche les opérations en cours sur l'instance |
db.dropDatabase() |
supprime la base courante |
db.getReplicationInfo() |
informations de réplication (oplog) |
db.repairDatabase() |
tente de réparer la base (opération lourde, hors ligne) |
db.serverStatus() |
état détaillé du serveur |
db.stats() |
statistiques de la base |
db.version() |
version du serveur |
db.shutdownServer() |
arrête l'instance |
Note : db.addUser()/db.getMongo().setSlaveOk() et les autres
méthodes liées à l'ancien mode maître/esclave sont obsolètes (voir MongoDB) — ne pas les
reprendre sur une installation actuelle.
Méthodes de collection (db.<collection>.*)
| Méthode | Effet |
|---|---|
find(query, projection) |
recherche de documents, avec filtre et projection des champs retournés |
findOne(query) |
retourne le premier document trouvé |
count() |
nombre de documents |
distinct(champ) |
valeurs distinctes d'un champ |
createIndex(keys, options) |
crée un index (remplace ensureIndex(), alias déprécié)
|
dropIndex(name) / dropIndexes() |
supprime un ou tous les index |
insertOne(doc) / insertMany([docs]) |
insertion (remplacent insert(), déprécié)
|
updateOne(filtre, maj) / updateMany(filtre, maj) |
mise à jour (remplacent update(), déprécié)
|
deleteOne(filtre) / deleteMany(filtre) |
suppression (remplacent remove(), déprécié)
|
drop() |
supprime la collection entière |
stats() |
statistiques de la collection (taille, index...) |
aggregate(pipeline) |
pipeline d'agrégation (remplace mapReduce(), déprécié depuis 5.0)
|
Import / export
mongodump -d nom_base -o /chemin/vers/repertoire
mongorestore -d nom_base /chemin/vers/repertoire
Exemples
Insertion et lecture :
var j = { name: "mongo" };
db.things.insertOne(j);
var cursor = db.things.find();
while (cursor.hasNext()) { print(tojson(cursor.next())); }
db.things.find().forEach(function(x) { printjson(x); });
Équivalence avec une requête SQL, pour se repérer :
-- select * from things where name = 'mongo'
db.things.find({ name: "mongo" }).forEach(printjson);
Tri et limite :
db.things.find().sort({ x: 1 }); // croissant
db.things.find().sort({ x: -1 }); // décroissant
db.things.find().limit(3);
Mise à jour avec upsert (crée le document s'il n'existe pas) :
db.users.updateOne(
{ _id: "id_utilisateur" },
{ $set: { api_token: "nouveau_token" } },
{ upsert: true }
);
Voir aussi
- MongoDB — panorama général
- Mongo init — script de démarrage
- Mongodb php — driver PHP
- Sql — langage SQL générique, pour la comparaison de syntaxe