Mis on MongoDB?
MongoDB on dokumendipõhine NoSQL andmebaasihaldussüsteem, mis on mõeldud paindlikuks ja skaleeritavaks andmete salvestamiseks. Erinevalt relatsioonilistest andmebaasidest (nagu MySQL või PostgreSQL), mis kasutavad tabelipõhist struktuuri, kasutab MongoDB dokumente JSON-i sarnases BSON (Binary JSON) formaadis.
MongoDB-s on andmebaas nagu konteiner, mis hoiab endas kollektsioone.
Kollektsioon
- Kollektsioon on MongoDB analoog tabelile relatsioonilises andmebaasis.
- See sisaldab dokumente, mis võivad olla erineva struktuuriga.
- Nt. kasutajad, tooted, tellimused võivad kõik olla erinevad kollektsioonid.
Dokument
- Dokument on MongoDB-s põhiline andmestruktuuri üksus.
- See on salvestatud BSON-formaadis, kuid kujutab endast midagi JSON-ilaadset.
- Iga dokument koosneb võtme-väärtuse paaridest.
- Iga dokument on iseseisev, mis tähendab, et erinevatel dokumentidel samas kollektsioonis võivad olla erinevad väljad.
Tingimused
$gt – suurem kui
$lt – väiksem kui
$gte – suurem või võrdne
$lte – väiksem või võrdne
$eq – võrdne
$ne – mitte võrdne
$in – kuulub hulka
$and, $or – loogilised tingimused
Kasutatud käsud
# andmebaasi loomine: <dbname> asemel kirjutad andmebaasi nimi, ja seda kasutades loote selle automaatselt
use <dbname>
# kollektsiooni loomine
db.createCollection("users")
{ ok: 1 }
show collections
users
# kasutaja (dokumenti) sisestamine
db.users.insert({
name: "John",
age: 30
})
# kasutajate sisestamine
db.users.insertMany([
{name: "mmm", age: 30},
{name: "aaa", age: 23},
{name: "bbb", age: 45},
{name: "bbc", age: 23},
{name: "bbd", age: 33}
])
# konkreetne kasutaja rida uuendamine
db.users.update(
{name: "mmm"},
{
$set:{
name: "norm name",
age: 99
}
}
)
# kõikide kasutajate rida uuendamine
db.users.updateMany(
{},
{
$rename:{
name: "fullname"
}
}
)
# võimaldab teil ühe taotlusega korraga mitu toimingut teha
db.users.bulkWrite(
[
{
insertOne: {
document: {fullname: "nastja", age: 18}
}
},
{
deleteOne:{
filter: {fullname: "aaa"}
}
}
]
)
# otsi postitusi kasutaja järgi
db.users.findOne(
{fullname: "nastja"},
{posts:1}
)
# otsi kasutajat, kellel on antud nimega postitus
db.users.find(
{
posts:{
$elemMatch: {
title: "java"
}
}
}
)
# ühe dokumenti kustutamine
db.users.deleteOne({age:24})
# tingimuste lisamine otsingusse näited
db.users.find({age:{$lt:30}})
db.users.find({$or:[{name: "Mike"}, {age: 35}]})
db.users.find({age:{$gt:28}})
MongoDB cloud ühendamine WebStorm-iga
Lähed mongodb.com/products/platform/cloud lehele ja lood konto, siis logi sisse

Lood uus klaster

Valid tasuta klaster

Valid ‘Drivers’

Kontrolli, et siin on valitud Node.js!

Kopeeri ühenduse sõne

Loo uus kasutaja ja kopeeri endale kuskil salasõna!

Minge võrgu juurdepääse sättesse ja luba juurdepääs igalt kohalt, et ei siduda mingi ip-addressile

Tulemus:

Installi endale Node.js npm-mooduliga, sellest lähe nodejs.org ja laadi alla

Ole kindel, et installid kõik funktsioonid, millised installer annab!

Käivita WebStorm, ava terminal ja sisesta järgmised komandid:
npm init -y
npm i mongodb


Loo uus fail index.js ja sisesta eelmisel kopeeritud ühenduselause new MongoClient sõnes, veel sisesta oma eelmisel kopeeritud salasõna!

Siin on lisatud console log, kui ühendus on loodud. Kui näed seda, siis kõik töötab!


