Začnimo

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?

  1. Aplikacija (npr. Node.js, Python, PHP…) se poveže v MongoDB.
  2. Aplikacija pošilja ukaze (find, insert, update, delete).
  3. MongoDB vrne rezultate v obliki dokumentov.
  4. Aplikacija rezultate prikaže uporabniku (npr. na spletni strani).

Primer aplikacij:

brisanje računa → deleteOne

registracija uporabnika → insertOne

prijava → findOne

urejanje profila → updateOne