Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //id se sam dodeli ukoliko mi ne napisemo
- db.TipProizvoda.insert({_id:1,"Naziv":"Laptop"})
- db.createCollection("TipProizvoda")
- db.TipProizvoda.find()
- db.TipProizvoda.insertMany([{_id:2,Naziv:"Mobilni"},{_id:3,Naziv:"Tablet"}])
- db.Proizvod.insert(
- {
- _id:1,
- NazivProizvoda:"Asus N55",
- Boja:["srebrna","crna"],
- Dimenzije:{
- duzina:50,
- sirina:20,
- visina:9
- },
- TipProizvoda_Id:1
- }
- )
- db.Proizvod.insert(
- {
- _id:2,
- NazivProizvoda:"Iphone 6s",
- Boja:["bela","zlatna"],
- Dimenzije:{
- duzina:120,
- sirina:7,
- visina:5
- },
- TipProizvoda_Id:2
- }
- )
- db.Proizvod.insert(
- {
- _id:3,
- NazivProizvoda:"Sony Z5",
- Boja:["bela","zlatna","crna"],
- TipProizvoda_Id:2
- }
- )
- db.Proizvod.insert(
- {
- _id:4,
- NazivProizvoda:"Acer 10",
- Boja:["bela"],
- TipProizvoda_Id:3
- }
- )
- db.Otpremnica.insert(
- {
- Broj:111,
- //Konstruktor YYYY-MM-DD
- Datum:new Date("2016-03-07"),
- MestoIsporuke:"Beograd",
- PoNarudzbenici:{
- BrojNarDob:10,
- datumNar: new Date("2016-02-25")
- },
- StavkaOtpremnice:[
- {
- RedniBroj:1,
- //Simulacija spoljnog kljuca
- Proizvod_Id:1,
- OtpremljenaKolicina:10,
- JedinicnaVrednost:{
- Osnovica:30000,
- PDV:5400
- }
- },
- {
- RedniBroj:2,
- //Simulacija spoljnog kljuca
- Proizvod_Id:2,
- OtpremljenaKolicina:5,
- JedinicnaVrednost:{
- Osnovica:100000,
- PDV:18000
- }
- }
- ]
- }
- )
- db.Otpremnica.insert(
- {
- Broj:222,
- //Konstruktor YYYY-MM-DD
- Datum:new Date("2017-02-17"),
- MestoIsporuke:"Novi Sad",
- PoNarudzbenici:{
- BrojNarDob:110,
- datumNar: new Date("2016-01-22")
- },
- StavkaOtpremnice:[
- {
- RedniBroj:1,
- //Simulacija spoljnog kljuca
- Proizvod_Id:1,
- OtpremljenaKolicina:10,
- JedinicnaVrednost:{
- Osnovica:30000,
- PDV:5400
- }
- },
- {
- RedniBroj:2,
- //Simulacija spoljnog kljuca
- Proizvod_Id:2,
- OtpremljenaKolicina:5,
- JedinicnaVrednost:{
- Osnovica:100000,
- PDV:18000
- }
- },
- {
- RedniBroj:3,
- //Simulacija spoljnog kljuca
- Proizvod_Id:2,
- OtpremljenaKolicina:101,
- JedinicnaVrednost:{
- Osnovica:300000,
- PDV:54000
- }
- }
- ]
- }
- )
- //Brisanje kolekcije
- db.TipProizvoda.drop()
- //Kreirenje seme
- db.createCollection("TipProizvoda", {validator: {$jsonSchema: {
- bsonType: "object",
- required: ["Naziv", "Garancija"],
- properties: {
- Naziv: {
- bsonType: "string",
- description: "Obavezna vrednost"
- },
- Garancija: {
- bsonType: "int",
- minimum: 6,
- maximum: 36
- }
- }}}})
- db.TipProizvoda.insert({_id:1,Naziv:"Laptop",Garancija:NumberInt(7)})
- db.TipProizvoda.insert({_id:2,Naziv:"Mobilni",Garancija:NumberInt(7)})
- db.TipProizvoda.insert({_id:3,Naziv:"Tablet",Garancija:NumberInt(7)})
- db.TipProizvoda.find()
- //Update komanda
- db.TipProizvoda.update(
- {Naziv:"Mobilni"},
- {$set:{Naziv:"Fiksni telefon"}}
- )
- db.TipProizvoda.update(
- {Naziv:"Fiksni telefon"},
- {$set:{Naziv:"Mobilni telefon",ZemljaPorekla:"Kina"}}
- )
- db.Otpremnica.update(
- {Broj:111},
- {$currentDate:{Datum:true}}
- )
- //Dodavanje stavke u novi niz, kako ne bismo morali novi niz da prosledimo, vec samo jednu stavku da dodamo
- db.Otpremnica.update({Broj: 222}, {$push :{StavkaOtpremnice: {
- RedniBroj: 4,
- Proizvod_id: 3,
- OtpremljenaKolicina: 10,
- JedinicnaVrednost: {
- osnovica: 20000,
- pdv: 9000
- }
- }}})
- //pretrazivanje
- db.getCollection("TipProizvoda").find({_id:1})
- //Za sve proizvode prikazati sve razlike id-eve tipova proizvoda
- db.Proizvod.distinct("TipProizvoda_Id")
- //Prikazati sve otpremnice kreirane nakon nekog datuma
- db.Otpremnica.find(
- {
- Datum: {$gt: new Date("2015-01-01")}
- }
- )
- //Prikazati sve proizvode koji su dostupni u zlatnoj ili beloj boji
- db.Proizvod.find(
- {
- Boja:{$in:["zlatna","bela"]}
- }
- )
- //Kombinovanje dva uslova
- //Da je datum 2017-02-17 i da je iz Novog Sada
- //db.Otpremnica.find({$and:[{Broj:111},{MestoIsporuke:"Novi Sad"}]})
- //koriscenje operatora i
- db.Otpremnica.find({
- Datum:new Date("2017-02-17"),
- MestoIsporuke:"Novi Sad"
- })
- //Prikazati sve otpremnice koje imaju broj 111 ili im je mesto isporuke Novi Sad
- //{$or:[{},{}]} u nizu pisemo uslove
- db.Otpremnica.find({$or:[{Broj:111},{MestoIsporuke:"Novi Sad"}]})
- //Prikazati sve otpremnice koje imaju kolicinu manju od 6
- db.Otpremnica.find({"StavkaOtpremnice.OtpremljenaKolicina":{$lt:6}})
- //Igrati se sa operatorom ALL
- //Prikazati sve proizvode koji nisu u crnoj ili srebrna boji
- db.Proizvod.find(
- {
- Boja:{$exists:true,$nin:["crna","srebrna"]}
- }
- )
- db.Proizvod.find(
- {
- Dimenzije:{$exists:false}
- }
- )
- //Prikazati sve otpremnice koje imaju tri stavke
- //????
- db.Otpremnica.find({
- StavkaOtpremnice:{$size:3}
- })
- //grupisanje
- //$TipProizvoda_Id da navigiramo do njega
- db.Proizvod.aggregate({$group:{_id:"$TipProizvoda_Id",total:{$sum:1}}})
- //Match samo za neki uslov
- db.Otpremnica.aggregate(
- {$match:{Broj:111}},
- {
- $project:{
- datum:"$Datum",
- stavke:"$StavkaOtpremnice"
- }
- }
- )
- db.Otpremnica.aggregate(
- {
- $project:{
- broj:"$Broj",
- brojStavki:{$size:"$StavkaOtpremnice"},
- ukupnaOtpKolicina:{$sum:"$StavkaOtpremnice.OtpremljenaKolicina"},
- prosecnaKolicina:{$avg:"$StavkaOtpremnice.OtpremljenaKolicina"}
- }
- }
- )
- db.Proizvod.deleteOne()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement