Skip to content

Cheat Sheet dei comandi comuni di MongoDB

MongoDB è un sistema database open-source basato sull’archiviazione di file distribuiti ed è uno dei database NoSQL più popolari oggi. Questa cheat sheet si concentra sulle operazioni comuni nella CLI mongosh.

Connessione e Gestione

Comando Descrizione
mongosh Connettiti a MongoDB sulla porta locale
use <db_name> Passa a o crea database
db Mostra database attuale
show dbs Elenca tutti i database
show collections Elenca tutte le collezioni
exit Esci dalla Shell

Operazioni sulle Collezioni (DDL)

Comando Descrizione
db.createCollection("users") Crea manualmente una collezione
db.users.drop() Elimina collezione specificata
db.users.stats() Vedi statistiche collezione
db.users.renameCollection("people") Cambia nome collezione

Operazioni sui Documenti (CRUD)

Insert

// Inserimento documenti
db.users.insertOne({ name: "Alice", age: 25 });
db.users.insertMany([{ name: "Bob" }, { name: "Charlie" }]);

Read

// Query documenti
db.users.find().pretty(); 
db.users.find({ age: { $gt: 20 } }).sort({ age: 1 }).limit(10); 
db.users.findOne({ name: "Alice" }); 

Update

// Aggiornamento documenti
db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } });
db.users.updateMany({ age: { $lt: 18 } }, { $set: { status: "minor" } });

Delete

// Eliminazione documenti
db.users.deleteOne({ _id: ObjectId("...") });
db.users.deleteMany({ status: "inactive" });

Operatori Comuni

Type Operator Descrizione
Confronto $gt, $gte, $lt, $lte, $ne Maggiore di, Maggiore o uguale, Minore di, Minore o uguale, Diversi da
Logica $and, $or, $not, $nor E (And), O (Or), Non (Not), Né (Nor)
Campo $set, $unset, $inc, $rename Imposta valore, Rimuovi campo, Aggiornamento incrementale, Rinomina campo
Array $push, $pop, $pull, $addToSet Aggiungi, Estrai ultimo, Rimuovi corrispondenze, Aggiungi unico

Pipeline di Aggregazione

db.orders.aggregate([
  { $match: { status: "A" } },
  { $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
  { $sort: { total: -1 } }
]);

Gestione Indici

Comando Descrizione
db.users.createIndex({ name: 1 }) Crea indice crescente
db.users.createIndex({ email: 1 }, { unique: true }) Crea indice univoco
db.users.getIndexes() Mostra tutti gli indici
db.users.dropIndex("name_1") Elimina indice