Skip to content

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