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") |
Διαγραφή ευρετηρίου |