Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.15 KB | None | 0 0
  1. //id se sam dodeli ukoliko mi ne napisemo
  2. db.TipProizvoda.insert({_id:1,"Naziv":"Laptop"})
  3.  
  4. db.createCollection("TipProizvoda")
  5.  
  6. db.TipProizvoda.find()
  7.  
  8. db.TipProizvoda.insertMany([{_id:2,Naziv:"Mobilni"},{_id:3,Naziv:"Tablet"}])
  9.  
  10. db.Proizvod.insert(
  11. {
  12. _id:1,
  13. NazivProizvoda:"Asus N55",
  14. Boja:["srebrna","crna"],
  15. Dimenzije:{
  16. duzina:50,
  17. sirina:20,
  18. visina:9
  19. },
  20. TipProizvoda_Id:1
  21. }
  22. )
  23.  
  24. db.Proizvod.insert(
  25. {
  26. _id:2,
  27. NazivProizvoda:"Iphone 6s",
  28. Boja:["bela","zlatna"],
  29. Dimenzije:{
  30. duzina:120,
  31. sirina:7,
  32. visina:5
  33. },
  34. TipProizvoda_Id:2
  35. }
  36. )
  37.  
  38. db.Proizvod.insert(
  39. {
  40. _id:3,
  41. NazivProizvoda:"Sony Z5",
  42. Boja:["bela","zlatna","crna"],
  43. TipProizvoda_Id:2
  44. }
  45. )
  46.  
  47.  
  48. db.Proizvod.insert(
  49. {
  50. _id:4,
  51. NazivProizvoda:"Acer 10",
  52. Boja:["bela"],
  53. TipProizvoda_Id:3
  54. }
  55. )
  56.  
  57. db.Otpremnica.insert(
  58. {
  59. Broj:111,
  60. //Konstruktor YYYY-MM-DD
  61. Datum:new Date("2016-03-07"),
  62. MestoIsporuke:"Beograd",
  63. PoNarudzbenici:{
  64. BrojNarDob:10,
  65. datumNar: new Date("2016-02-25")
  66. },
  67. StavkaOtpremnice:[
  68. {
  69. RedniBroj:1,
  70. //Simulacija spoljnog kljuca
  71. Proizvod_Id:1,
  72. OtpremljenaKolicina:10,
  73. JedinicnaVrednost:{
  74. Osnovica:30000,
  75. PDV:5400
  76. }
  77. },
  78. {
  79. RedniBroj:2,
  80. //Simulacija spoljnog kljuca
  81. Proizvod_Id:2,
  82. OtpremljenaKolicina:5,
  83. JedinicnaVrednost:{
  84. Osnovica:100000,
  85. PDV:18000
  86. }
  87. }
  88. ]
  89. }
  90. )
  91.  
  92. db.Otpremnica.insert(
  93. {
  94. Broj:222,
  95. //Konstruktor YYYY-MM-DD
  96. Datum:new Date("2017-02-17"),
  97. MestoIsporuke:"Novi Sad",
  98. PoNarudzbenici:{
  99. BrojNarDob:110,
  100. datumNar: new Date("2016-01-22")
  101. },
  102. StavkaOtpremnice:[
  103. {
  104. RedniBroj:1,
  105. //Simulacija spoljnog kljuca
  106. Proizvod_Id:1,
  107. OtpremljenaKolicina:10,
  108. JedinicnaVrednost:{
  109. Osnovica:30000,
  110. PDV:5400
  111. }
  112. },
  113. {
  114. RedniBroj:2,
  115. //Simulacija spoljnog kljuca
  116. Proizvod_Id:2,
  117. OtpremljenaKolicina:5,
  118. JedinicnaVrednost:{
  119. Osnovica:100000,
  120. PDV:18000
  121. }
  122. },
  123. {
  124. RedniBroj:3,
  125. //Simulacija spoljnog kljuca
  126. Proizvod_Id:2,
  127. OtpremljenaKolicina:101,
  128. JedinicnaVrednost:{
  129. Osnovica:300000,
  130. PDV:54000
  131. }
  132. }
  133. ]
  134. }
  135. )
  136.  
  137. //Brisanje kolekcije
  138. db.TipProizvoda.drop()
  139.  
  140. //Kreirenje seme
  141. db.createCollection("TipProizvoda", {validator: {$jsonSchema: {
  142. bsonType: "object",
  143. required: ["Naziv", "Garancija"],
  144. properties: {
  145. Naziv: {
  146. bsonType: "string",
  147. description: "Obavezna vrednost"
  148. },
  149. Garancija: {
  150. bsonType: "int",
  151. minimum: 6,
  152. maximum: 36
  153. }
  154. }}}})
  155.  
  156. db.TipProizvoda.insert({_id:1,Naziv:"Laptop",Garancija:NumberInt(7)})
  157. db.TipProizvoda.insert({_id:2,Naziv:"Mobilni",Garancija:NumberInt(7)})
  158. db.TipProizvoda.insert({_id:3,Naziv:"Tablet",Garancija:NumberInt(7)})
  159.  
  160. db.TipProizvoda.find()
  161. //Update komanda
  162. db.TipProizvoda.update(
  163. {Naziv:"Mobilni"},
  164. {$set:{Naziv:"Fiksni telefon"}}
  165. )
  166.  
  167. db.TipProizvoda.update(
  168. {Naziv:"Fiksni telefon"},
  169. {$set:{Naziv:"Mobilni telefon",ZemljaPorekla:"Kina"}}
  170. )
  171.  
  172. db.Otpremnica.update(
  173. {Broj:111},
  174. {$currentDate:{Datum:true}}
  175. )
  176. //Dodavanje stavke u novi niz, kako ne bismo morali novi niz da prosledimo, vec samo jednu stavku da dodamo
  177. db.Otpremnica.update({Broj: 222}, {$push :{StavkaOtpremnice: {
  178. RedniBroj: 4,
  179. Proizvod_id: 3,
  180. OtpremljenaKolicina: 10,
  181. JedinicnaVrednost: {
  182. osnovica: 20000,
  183. pdv: 9000
  184. }
  185. }}})
  186.  
  187. //pretrazivanje
  188. db.getCollection("TipProizvoda").find({_id:1})
  189.  
  190. //Za sve proizvode prikazati sve razlike id-eve tipova proizvoda
  191. db.Proizvod.distinct("TipProizvoda_Id")
  192.  
  193. //Prikazati sve otpremnice kreirane nakon nekog datuma
  194. db.Otpremnica.find(
  195. {
  196. Datum: {$gt: new Date("2015-01-01")}
  197. }
  198. )
  199.  
  200. //Prikazati sve proizvode koji su dostupni u zlatnoj ili beloj boji
  201. db.Proizvod.find(
  202. {
  203. Boja:{$in:["zlatna","bela"]}
  204. }
  205. )
  206.  
  207. //Kombinovanje dva uslova
  208. //Da je datum 2017-02-17 i da je iz Novog Sada
  209.  
  210. //db.Otpremnica.find({$and:[{Broj:111},{MestoIsporuke:"Novi Sad"}]})
  211. //koriscenje operatora i
  212. db.Otpremnica.find({
  213. Datum:new Date("2017-02-17"),
  214. MestoIsporuke:"Novi Sad"
  215. })
  216.  
  217.  
  218.  
  219. //Prikazati sve otpremnice koje imaju broj 111 ili im je mesto isporuke Novi Sad
  220. //{$or:[{},{}]} u nizu pisemo uslove
  221. db.Otpremnica.find({$or:[{Broj:111},{MestoIsporuke:"Novi Sad"}]})
  222.  
  223. //Prikazati sve otpremnice koje imaju kolicinu manju od 6
  224. db.Otpremnica.find({"StavkaOtpremnice.OtpremljenaKolicina":{$lt:6}})
  225. //Igrati se sa operatorom ALL
  226.  
  227. //Prikazati sve proizvode koji nisu u crnoj ili srebrna boji
  228. db.Proizvod.find(
  229. {
  230. Boja:{$exists:true,$nin:["crna","srebrna"]}
  231. }
  232. )
  233.  
  234. db.Proizvod.find(
  235. {
  236. Dimenzije:{$exists:false}
  237. }
  238. )
  239.  
  240. //Prikazati sve otpremnice koje imaju tri stavke
  241.  
  242. //????
  243. db.Otpremnica.find({
  244. StavkaOtpremnice:{$size:3}
  245.  
  246. })
  247.  
  248. //grupisanje
  249. //$TipProizvoda_Id da navigiramo do njega
  250. db.Proizvod.aggregate({$group:{_id:"$TipProizvoda_Id",total:{$sum:1}}})
  251.  
  252. //Match samo za neki uslov
  253. db.Otpremnica.aggregate(
  254. {$match:{Broj:111}},
  255. {
  256. $project:{
  257. datum:"$Datum",
  258. stavke:"$StavkaOtpremnice"
  259. }
  260. }
  261. )
  262.  
  263. db.Otpremnica.aggregate(
  264. {
  265. $project:{
  266. broj:"$Broj",
  267. brojStavki:{$size:"$StavkaOtpremnice"},
  268. ukupnaOtpKolicina:{$sum:"$StavkaOtpremnice.OtpremljenaKolicina"},
  269. prosecnaKolicina:{$avg:"$StavkaOtpremnice.OtpremljenaKolicina"}
  270. }
  271. }
  272. )
  273.  
  274. db.Proizvod.deleteOne()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement