MongoDB

Mis on MongoDB?

MongoDB on populaarne NoSQL-andmebaas, mida kasutatakse struktureeritud, poolstruktureeritud ja struktureerimata andmete salvestamiseks. Traditsioonilise relatsioonilise andmebaasi tabelite asemel salvestab MongoDB andmed JSON-dokumentidesse, mis on organiseeritud kogudeks.

Näide:

Näide2:

Kuidas kasutada MongoDB Compass?

  1. Esmalt peame looma ühenduse „connect“.

2. Sisemise „cmd“ – commandprompt kasutamine

3. Andmebaasi loomine sisemise konsooli kaudu

  • “>” – Tähistab teie päringute sisestamist konsooli,(input)
  • “<” – Tähistab väljumist konsoolist,(output)

Code:

show databases;
use mongo;
db.createCollection("users")

3.1 Vajuta „Refresh“, et näha enda loodud andmebaasi „users“.

4. Põhilised käsud

4.1 Drop

  • Eemaldab teie vahetu baasi
db.dropDatabase()

4.2 Show

  • Näitab andmebaasis olevaid faile (tabeleid)
  • Näitab, mis on teie andmebaasis. Enne seda tuleb minna sinna – „use“!
show dbs;
show collections;

4.3 Create

  • Andmebaasi loomine
db.createCollection("users")

4.4 Insert

  • MongoDB dokumendid on sarnased JSON-objektidega. Väljade väärtused võivad sisaldada teisi dokumente, massiive ja dokumentide massiive.
db.users.insert({
	name:"ulbitv",
	age:25
}) 

Struktuur

db.collection.insert(
   <document or array of documents>,
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

4.5 Find

  • Näitab andmeid konkreetselt määratud tabelis
db.users.find()

4.6 Insert(Many)

  • Annab meile võimaluse lisada korraga terve andmete loetelu
db.users.insertMany([
	{name: "vasya", age: 28},
	{name: "petya", age: 23},
	{name: "dima", age: 35},
	{name: "anton", age: 24},
	{name: "ulbi tv", age: 42}
]) 

4.7 Find by({ ? })

  • Võimaldab meil leida andmeid konkreetse parameetri kohta
db.users.find({age:35})

4.8 Find by ({ $ })

  • Võimaldab meil leida andmeid tingimusega
db.users.find({$or:[{name:"ulbitv"}, {age:35}]})

4.9 Find by ({ $lt })

  • Võimaldab meil leida andmeid, mis on väiksemad kui määratud arv „lt“ – lowerthan
db.users.find({age: {$lt:30}})

4.10 Find by ({ $lte })

  • Võimaldab meil leida andmeid, mis on väiksemad või võrdsed määratud arvuga „lte“ – lowerthan/equal/
db.users.find({age: {$lte:28}})

4.11 Find by ({ $gt })

  • Võimaldab meil leida andmeid, mis ületavad määratud arvu „gt“ – graterthan
db.users.find({age: {$gt:28}})

4.12 Find by ({ $gte })

  • Võimaldab meil leida andmeid, mis on suuremad või võrdsed määratud arvuga „gte“ – graterthan/equals
db.users.find({age: {$gte:28}})

4.13 Find by ({ $ne })

  • Võimaldab meil leida andmeid, mis ei ole võrdsed „ne“ – notequals
db.users.find({age: {$ne:28}})

4.14 Find.Sort

  • Sorteerib antud juhul kasvavas järjekorras (1 – …), kui aga meil on -1, siis sorteerimine toimub kahanevas järjekorras.
db.users.find().sort({age:1})
------------------------------
db.users.find().sort({age:-1})

4.15 Find.limit

  • MongoDB-s kasutatakse meetodit limit(), et piirata päringu tulemusena tagastatavate dokumentide arvu. See on eriti kasulik, kui töötame suurte kogudega, kuna aitab piirata töödeldavate dokumentide arvu, vähendades seeläbi päringu täitmise aega ja parandades rakenduse jõudlust.
db.users.find().limit(2)

4.16 Update

  • Võimaldab tabelis andmeid uuendada
db.users.insertMany(
	{name: "ulbi tv"},
	{
		$set:{
			name: "ilon mask",
			age: 45
		}
	}
) 

4.17 UpdateMany

  • Võimaldab uuendada tabeli veeru nime
db.users.updateMany(
	{},
	{
		$rename:{
			name: "fullname"
		}
	}
) 

4.18 DeleteOne

  • Võimaldab kustutada tabelist andmed vastavalt määratud parameetrile.
db.users.deleteOne({age:24})

4.19 bulkWrite

  • MongoDB-s olev meetod bulkWrite() on võimas tööriist, mis võimaldab ühe käsuga teostada mitu kirjutusoperatsiooni. See meetod on eriti kasulik operatsioonide partiide tõhusaks teostamiseks, vähendades andmebaasi serveriga suhtlemise kordi ja parandades seeläbi jõudlust.
db.users.bulkWrite([
    {
        insertOne:{
            document: {name: "nastya", age:18}
        }
    },
    {
        deleteOne:{
            filter: {name: "petya"}
        }
    }
])

4.20 Update($set)

  • Võimaldab uuendada tabelis olevaid andmeid, lisades uue välja uute määratud parameetritega.
db.users.update(
     {fullname: "petya"},
     {
        $set: {
            posts: [
                {title: 'javascript', text: 'js top'},
                {title: 'mongo', text: 'mongo database'},
            ]
        }
    }
)

Cluster

  1. Otsi internetist MongoDB sait.

2. Logi sisse või loo konto

3. Loo projekt

4. Tuleb luua klastri

5. Avame IDE ja loome js.file

  • install MongoDB

6. Kirjutame koodi ühenduse jaoks (index.js)

const {MongoClient} = require('mongodb')

const client = new MongoClient('URL')

const start = async () => {
    try {
        await client.connect()
    } catch (e){
        console.log(e)
    }
}

start()

7. Siseneme klastrisse ühenduse loomiseks

8. Loo andmebaasi kasutaja

9. Valime ühendusmeetodi

10. Kopeerime rea, mida näeme

11. Lisame selle meie varem kirjutatud koodi reale.

const {MongoClient} = require('mongodb')

const client = new MongoClient('mongodb+srv://edak:admin@cluster0.0b2jeli.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0')

const start = async () => {
    try {
        await client.connect()
        console.log('Succes')
    } catch (e){
        console.log(e)
    }
}

start()
  • !Ärge unustage parooli vahetada!

12.Andmete sisestamine andmebaasi

const {MongoClient} = require('mongodb')

const client = new MongoClient('mongodb+srv://edak:admin@cluster0.0b2jeli.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0')

const start = async () => {
    try {
        await client.connect()
        console.log('Succes')
        await client.db().createCollection('users')
        const users = client.db().collection('users')
        await users.insertOne({name: 'edvard', age: 19})
        const user = await users.findOne({name:"edvard"})
        console.log(user)
    } catch (e){
        console.log(e)
    }
}

start()

вывод на html страницу не успел сделать