Fusklapp för vanliga MongoDB-kommandon
MongoDB är ett databassystem med öppen källkod baserat på distribuerad filagring och är en av de mest populära NoSQL-databaserna idag. Denna fusklapp fokuserar på vanliga operationer i mongosh CLI.
Anslutning & Hantering
| Kommando | Beskrivning |
|---|---|
mongosh |
Anslut till MongoDB på lokal port |
use <db_name> |
Växla till eller skapa databas |
db |
Visa aktuell databas |
show dbs |
Lista alla databaser |
show collections |
Lista alla samlingar i aktuell DB |
exit |
Avsluta Shell |
Samlingsoperationer (DDL)
| Kommando | Beskrivning |
|---|---|
db.createCollection("users") |
Skapa samling manuellt |
db.users.drop() |
Ta bort angiven samling |
db.users.stats() |
Visa samlingsstatistik |
db.users.renameCollection("people") |
Ändra samlingsnamn |
Dokumentoperationer (CRUD)
Insert
// Infoga dokument
db.users.insertOne({ name: "Alice", age: 25 });
db.users.insertMany([{ name: "Bob" }, { name: "Charlie" }]);Read
// Sök dokument
db.users.find().pretty();
db.users.find({ age: { $gt: 20 } }).sort({ age: 1 }).limit(10);
db.users.findOne({ name: "Alice" });
Update
// Uppdatera dokument
db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } });
db.users.updateMany({ age: { $lt: 18 } }, { $set: { status: "minor" } });Delete
// Ta bort dokument
db.users.deleteOne({ _id: ObjectId("...") });
db.users.deleteMany({ status: "inactive" });Vanliga operatorer
| Type | Operator | Beskrivning |
|---|---|---|
| Jämförelse | $gt, $gte, $lt, $lte, $ne |
Större än, Större än eller lika med, Mindre än, Mindre än eller lika med, Inte lika med |
| Logik | $and, $or, $not, $nor |
Och, Eller, Inte, Varken eller |
| Fält | $set, $unset, $inc, $rename |
Sätt värde, Ta bort fält, Inkrementell uppdatering, Byt namn på fält |
| Array | $push, $pop, $pull, $addToSet |
Lägg till, Ta bort sista, Ta bort matchningar, Lägg till unik |
Aggregationspipeline
db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
]);Indexhantering
| Kommando | Beskrivning |
|---|---|
db.users.createIndex({ name: 1 }) |
Skapa stigande index |
db.users.createIndex({ email: 1 }, { unique: true }) |
Skapa unikt index |
db.users.getIndexes() |
Visa alla index |
db.users.dropIndex("name_1") |
Ta bort index |