Mongo DB

Mis on MongoDB?

MongoDB on dokumentidele põhinev NoSQL andmebaas, mis salvestab andmed JSON-laadsetesse dokumentidesse (tegelikult BSON-formaadis). See erineb relatsioonilistest andmebaasidest, kuna seal ei kasutata tabelite süsteemi, vaid paindlikke dokumente, mis võivad sisaldada erineva struktuuriga andmeid.

Andmebaas – MongoDB-s on andmebaas nagu konteiner, mis sisaldab kollektsioone (kogusid).

Kogu (collection) – Kogu on dokumentide kogum, nagu relatsioonilises andmebaasis tabel.

Dokument (document) – Andmete üksus JSON-vormingus, mis sisaldab võtme-väärtuse paare.

show databases;   //n@itab, millised db-d on olemas

use mongo;   // kasutab andud andmebaasi, ja kui seda ei ole- loob andmebaasi

db.createCollection("users")   //loob Kogu

show collections   //n@itab kogud 

db.users.insert({     //lisada 1 dokument
    name: "John",
    age: 30
})


db.users.insertMany([        // lisada mitu dokumente
    {name: "mmm", age: 30},
    {name: "aaa", age: 23},
    {name: "bbb", age: 45},
    {name: "bbc", age: 23},
    {name: "bbd", age: 33}

])

db.users.update(          // uuenda 1 documenti
    {name: "mmm"},        // milline dokument?
    {
        $set:{            // uued andmed
            name: "norm name",
            age: 99
        }
    }
)

db.users.updateMany(       //uuenda mitu dokumente
    {},
    {
        $rename:{            //v@@rtuse umbernimetamine
            name: "fullname"
        }
    }
)

db.users.bulkWrite(   //teha mitu tegevusi
    [
    {
        insertOne: {
            document: {fullname: "nastja", age: 18}
        }
    },
    {
        deleteOne:{
            filter: {fullname: "aaa"}
        }
    }
    ]
)

db.users.update(
    {fullname: "nastja"},
    {
        $set:{
            posts:[  
//Это массив из двух объектов, каждый из которых представляет собой как бы "пост"
                {title:'java', text:'js top'},
                {title:'mongo', text:'mongo db'}
            ]
        }
    }
)

db.users.findOne(
    {fullname: "nastja"},
    {posts:1}
)

db.users.find(
    {
        posts:{
            $elemMatch: {
                title: "java"
            }
        }

    }
)
$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

MongoDB Cloud ühendamine

const {MongoClient} = require('mongodb')
const client = new MongoClient('mongodb+srv://kseniTARgv24:Semkivsemke5548586-@cluster0.e3ctfmt.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0')
const start = async() => {
    try{
        await client.connect()
        console.log('Connected to Database')
        await client.db().createCollection('users')
        const users = client.db().collection('users')
        // await users.insertOne({name: 'John', age: 15})
        // const user = await users.findOne({name: 'John'})
        const allUsers = await users.find().toArray()
        console.log(allUsers)

    }
    catch(e){
        console.log(e)
    }
}

start()

võrgu juurdepääse sätted