Skip to content

Cheat Sheet κοινών εντολών MongoDB

Η MongoDB είναι ένα σύστημα βάσης δεδομένων ανοιχτού κώδικα βασισμένο σε κατανεμημένη αποθήκευση αρχείων και είναι μία από τις πιο δημοφιλείς βάσεις δεδομένων NoSQL σήμερα. Αυτό το cheat sheet εστιάζει στις κοινές λειτουργίες στο CLI mongosh.

Σύνδεση & Διαχείριση

Εντολή Περιγραφή
mongosh Σύνδεση στη MongoDB στην τοπική θύρα
use <db_name> Μετάβαση ή δημιουργία βάσης δεδομένων
db Εμφάνιση τρέχουσας βάσης δεδομένων
show dbs Λίστα όλων των βάσεων δεδομένων
show collections Λίστα όλων των συλλογών
exit Έξοδος από το Shell

Λειτουργίες Συλλογής (DDL)

Εντολή Περιγραφή
db.createCollection("users") Μη αυτόματη δημιουργία συλλογής
db.users.drop() Διαγραφή συγκεκριμένης συλλογής
db.users.stats() Προβολή στατιστικών συλλογής
db.users.renameCollection("people") Μετονομασία συλλογής

Λειτουργίες Εγγράφων (CRUD)

Insert

// Εισαγωγή εγγράφων
db.users.insertOne({ name: "Alice", age: 25 });
db.users.insertMany([{ name: "Bob" }, { name: "Charlie" }]);

Read

// Ερώτημα εγγράφων
db.users.find().pretty(); 
db.users.find({ age: { $gt: 20 } }).sort({ age: 1 }).limit(10); 
db.users.findOne({ name: "Alice" }); 

Update

// Ενημέρωση εγγράφων
db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } });
db.users.updateMany({ age: { $lt: 18 } }, { $set: { status: "minor" } });

Delete

// Διαγραφή εγγράφων
db.users.deleteOne({ _id: ObjectId("...") });
db.users.deleteMany({ status: "inactive" });

Κοινοί Τελεστές

Type Operator Περιγραφή
Σύγκριση $gt, $gte, $lt, $lte, $ne Μεγαλύτερο από, Μεγαλύτερο ή ίσο, Μικρότερο από, Μικρότερο ή ίσο, Όχι ίσο
Λογική $and, $or, $not, $nor Και (And), Ή (Or), Όχι (Not), Ούτε… ούτε
Πεδίο $set, $unset, $inc, $rename Ορισμός τιμής, Αφαίρεση πεδίου, Προσαυξητική ενημέρωση, Μετονομασία πεδίου
Πίνακας $push, $pop, $pull, $addToSet Προσθήκη, Εξαγωγή τελευταίου, Αφαίρεση αντιστοιχιών, Προσθήκη μοναδικού

Αγωγός Συγκέντρωσης

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

Διαχείριση Ευρετηρίων

Εντολή Περιγραφή
db.users.createIndex({ name: 1 }) Δημιουργία αύξοντος ευρετηρίου
db.users.createIndex({ email: 1 }, { unique: true }) Δημιουργία μοναδικού ευρετηρίου
db.users.getIndexes() Εμφάνιση όλων των ευρετηρίων
db.users.dropIndex("name_1") Διαγραφή ευρετηρίου