Lista poleceń MongoDB
MongoDB to open-source’owy system bazodanowy oparty na rozproszonym przechowywaniu plików, będący obecnie jedną z najpopularniejszych baz NoSQL. Ta lista skupia się na typowych operacjach w CLI mongosh.
Połączenie i zarządzanie
| Polecenie | Opis |
|---|---|
mongosh |
Połącz z MongoDB na porcie lokalnym |
use <db_name> |
Przełącz lub utwórz bazę danych |
db |
Pokaż bieżącą bazę danych |
show dbs |
Wyświetl listę baz danych |
show collections |
Wyświetl listę kolekcji |
exit |
Wyjdź z Shell |
Operacje na kolekcjach (DDL)
| Polecenie | Opis |
|---|---|
db.createCollection("users") |
Ręczne tworzenie kolekcji |
db.users.drop() |
Usuń określoną kolekcję |
db.users.stats() |
Pokaż statystyki kolekcji |
db.users.renameCollection("people") |
Zmień nazwę kolekcji |
Operacje na dokumentach (CRUD)
Insert
// Wstawianie dokumentów
db.users.insertOne({ name: "Alice", age: 25 });
db.users.insertMany([{ name: "Bob" }, { name: "Charlie" }]);Read
// Zapytanie o dokumenty
db.users.find().pretty();
db.users.find({ age: { $gt: 20 } }).sort({ age: 1 }).limit(10);
db.users.findOne({ name: "Alice" });
Update
// Aktualizacja dokumentów
db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } });
db.users.updateMany({ age: { $lt: 18 } }, { $set: { status: "minor" } });Delete
// Usuwanie dokumentów
db.users.deleteOne({ _id: ObjectId("...") });
db.users.deleteMany({ status: "inactive" });Typowe operatory
| Type | Operator | Opis |
|---|---|---|
| Porównanie | $gt, $gte, $lt, $lte, $ne |
Większe niż, Większe lub równe, Mniejsze niż, Mniejsze lub równe, Nierówne |
| Logika | $and, $or, $not, $nor |
I (And), Lub (Or), Nie (Not), Ani (Nor) |
| Pole | $set, $unset, $inc, $rename |
Ustaw wartość, Usuń pole, Aktualizacja przyrostowa, Zmień nazwę pola |
| Tablica | $push, $pop, $pull, $addToSet |
Dodaj, Usuń ostatni, Usuń pasujące, Dodaj unikalny |
Potoki agregacji
db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
]);Zarządzanie indeksami
| Polecenie | Opis |
|---|---|
db.users.createIndex({ name: 1 }) |
Utwórz indeks rosnący |
db.users.createIndex({ email: 1 }, { unique: true }) |
Utwórz unikalny indeks |
db.users.getIndexes() |
Pokaż wszystkie indeksy |
db.users.dropIndex("name_1") |
Usuń indeks |