Mis on MongoDB?
MongoDB on dokumentidele tuginev NoSQL-tüüpi andmebaas, mis salvestab andmeid JSON-laadsetes dokumentides. Erinevalt relatsioonilistest andmebaasidest ei kasuta MongoDB tabeleid ja ridu, vaid kogusid (collections) ja dokumente (documents).
MongoDB sobib hästi suurte andmemahtude ja dünaamiliste struktuuride jaoks, nt veebirakendused, IoT lahendused, reaalaja analüüs.
Olulised mõisted
- Andmebaas – kogu andmete hoidmise süsteem. MongoDB-s võib olla mitu andmebaasi.
- Kollektsioon (collection) – sarnane tabeliga SQL-andmebaasis; sisaldab dokumente.
- Dokument (document) – JSON-sarnane struktuur, kus on salvestatud tegelikud andmed.
Näide MongoDB dokumendist:
{
"nimi": "Kati",
"vanus": 24,
"email": "kati@example.com"
}
MongoDB Compass kasutamine
MongoDB Compass on MongoDB graafiline kasutajaliides, mis võimaldab andmebaasi visuaalselt hallata.
Andmebaasi loomine
- Ava MongoDB Compass.
- Vajuta “Create Database”.
- Sisesta:
- Database Name:
minuDB - Collection Name:
kasutajad
- Database Name:
- Vajuta “Create Database”.

MongoSH:

Dokumentide lisamine
- Vali kollektsioon ja klõpsa “Insert Document”.
- Sisesta näiteks:
{
"nimi": "Jaan",
"vanus": 30,
"email": "jaan@example.com"
}


MongoSH:

Dokumentide otsimine ja filtreerimine
Kasuta päringut (query filter), näiteks:
{ "vanus": { "$gt": 25 } }
See päring tagastab kõik dokumendid, kus vanus on üle 25.
enne käivitamist:

päräst:

MongoSH:

Dokumentide kustutamine
- Vali dokument ja klõpsa “Delete” või kasuta päringut näiteks:
{ "nimi": "Jaan" }


MongoSH:

MongoDB Cloud’i ühendamine (Atlas)
1. Installi MongoDB kliendimoodul:
npm install mongodb
2. Loo index.js fail:
const {MongoClient} = require('mongodb')
const client = new MongoClient('mongodb+srv://qwerty:123456a@cluster0.gihoaw9.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0')
const start = async () => {
try {
await client.connect()
console.log('Connected!')
await client.db().createCollection('users')
const users = client.db().collection('users');
users.insertOne({name:'igor', age: 21})
const user = await users.findOne({name:'igor'})
console.log(user)
} catch (e) {
console.log(e)
}
}
start()

Tulemus:
