Cheat Sheet pentru comenzi MongoDB
MongoDB este un sistem de bază de date cu sursă deschisă bazat pe stocarea distribuită a fișierelor și este una dintre cele mai populare baze de date NoSQL de astăzi. Acest cheat sheet se concentrează pe operațiunile comune în CLI mongosh.
Conexiune și Gestionare
| Comanda | Descriere |
|---|---|
mongosh |
Conectează-te la MongoDB pe portul local |
use <db_name> |
Comută sau creează baza de date |
db |
Arată baza de date curentă |
show dbs |
Listează toate bazele de date |
show collections |
Listează toate colecțiile |
exit |
Ieși din Shell |
Operațiuni pe Colecții (DDL)
| Comanda | Descriere |
|---|---|
db.createCollection("users") |
Creează manual o colecție |
db.users.drop() |
Șterge colecția specificată |
db.users.stats() |
Vezi statisticile colecției |
db.users.renameCollection("people") |
Schimbă numele colecției |
Operațiuni pe Documente (CRUD)
Insert
// Inserează documente
db.users.insertOne({ name: "Alice", age: 25 });
db.users.insertMany([{ name: "Bob" }, { name: "Charlie" }]);Read
// Interoghează documente
db.users.find().pretty();
db.users.find({ age: { $gt: 20 } }).sort({ age: 1 }).limit(10);
db.users.findOne({ name: "Alice" });
Update
// Actualizează documente
db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } });
db.users.updateMany({ age: { $lt: 18 } }, { $set: { status: "minor" } });Delete
// Șterge documente
db.users.deleteOne({ _id: ObjectId("...") });
db.users.deleteMany({ status: "inactive" });Operatori comuni
| Type | Operator | Descriere |
|---|---|---|
| Comparație | $gt, $gte, $lt, $lte, $ne |
Mai mare decât, Mai mare sau egal, Mai mic decât, Mai mic sau egal, Diferit de |
| Logic | $and, $or, $not, $nor |
Și, Sau, Nu, Nici |
| Câmp | $set, $unset, $inc, $rename |
Setează valoare, Elimină câmpul, Actualizare incrementală, Redenumește câmpul |
| Array | $push, $pop, $pull, $addToSet |
Adaugă, Pop, Elimină potrivirile, Adaugă unic |
Pipeline de agregare
db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
]);Gestionarea indexurilor
| Comanda | Descriere |
|---|---|
db.users.createIndex({ name: 1 }) |
Creează index ascendent |
db.users.createIndex({ email: 1 }, { unique: true }) |
Creează index unic |
db.users.getIndexes() |
Arată toate indexurile |
db.users.dropIndex("name_1") |
Șterge indexul |