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 |