MongoDB se uporablja tako, da aplikacija komunicira z bazo podatkov prek operacij nad dokumenti. Dokument je objekt podobno kot JSON, MongoDB pa omogoča zelo enostavno dodajanje, branje, posodabljanje in brisanje teh dokumentov.
Spodaj so štiri glavne operacije, imenovane tudi CRUD:
1. Dodajanje podatkov (CREATE)
Za vpis novega dokumenta v zbirko (collection) uporabljaš:
insertOne – doda en dokument
db.osebe.insertOne({
ime: "Luka",
starost: 28,
mesto: "Ljubljana"
})
insertMany – doda več dokumentov
db.osebe.insertMany([
{ ime: "Ana", starost: 30 },
{ ime: "Marko", starost: 25 }
])
MongoDB samodejno doda _id kot unikatni identifikator.
2. Branje podatkov (READ)
Za pridobivanje podatkov uporabljaš:
findOne – vrne en dokument
db.osebe.findOne({ ime: "Ana" })
find – vrne seznam dokumentov
db.osebe.find({ starost: { $gt: 20 } })
Primer filtriranja, sortiranja, omejevanja:
db.osebe
.find({ mesto: "Ljubljana" })
.sort({ starost: -1 }) // po starosti od najstarejšega
.limit(5) // vrne največ 5 rezultatov
3. Posodabljanje podatkov (UPDATE)
MongoDB omogoča delno ali popolno posodabljanje dokumentov.
updateOne – posodobi samo en dokument
db.osebe.updateOne(
{ ime: "Marko" },
{ $set: { starost: 26 } }
)
updateMany – posodobi več dokumentov
db.osebe.updateMany(
{ mesto: "Ljubljana" },
{ $set: { aktivno: true } }
)
Update operaterji
$set– nastavi novo vrednost$inc– poveča številko$push– doda element v array$pull– odstrani element iz arraya
Primer:
db.osebe.updateOne(
{ ime: "Ana" },
{ $push: { hobiji: "tek" } }
)
4. Brisanje podatkov (DELETE)
deleteOne – izbriše en dokument
db.osebe.deleteOne({ ime: "Luka" })
deleteMany – izbriše več dokumentov
db.osebe.deleteMany({ mesto: "Kranj" })
Kako to izgleda v aplikaciji?
- Aplikacija (npr. Node.js, Python, PHP…) se poveže v MongoDB.
- Aplikacija pošilja ukaze (find, insert, update, delete).
- MongoDB vrne rezultate v obliki dokumentov.
- Aplikacija rezultate prikaže uporabniku (npr. na spletni strani).
Primer aplikacij:
brisanje računa → deleteOne
registracija uporabnika → insertOne
prijava → findOne
urejanje profila → updateOne