SHARE
TWEET

Untitled

a guest Jan 20th, 2019 61 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Izpisi vse jedi restavracije Mak, ki so na veljavnem meniju in ne vsebujejo glutena.
  2.  
  3. db.Meni.aggregate([
  4.     // pridobim veljavni meni
  5.     {"$match":
  6.     {
  7.         "veljavnost": 1
  8.     }},
  9.     {"$lookup":
  10.         {
  11.             from: "Restavracija",
  12.             localField: "restavracijaId",
  13.             foreignField: "_id",
  14.             as: "restavracijaId.Restavracija"
  15.     }},
  16.     // Filtriram glede na restavracijo MAK
  17.     {"$match":
  18.     {
  19.         "restavracijaId.Restavracija.ime" : "Restavracija Mak"
  20.     }},
  21.     // Pridobim kategorija in filtiram ven samo "glavne jedi" kategorijo
  22.     {"$lookup":
  23.     {
  24.         from: "KategorijaMeni",
  25.         localField: "_id",
  26.         foreignField: "meniId",
  27.         as: "meniId.Menu"
  28.     }},
  29.     {"$unwind": "$meniId.Menu"},
  30.     {"$match":
  31.     {
  32.         "meniId.Menu.naziv": "Glavne jedi"
  33.     }},
  34.     // Pridobim glavne jedi in sfiltriram ven jedi
  35.     {"$unwind": "$meniId.Menu.jedId"},
  36.     {"$lookup":
  37.     {
  38.         from: "Jed",
  39.         localField: "meniId.Menu.jedId.id",
  40.         foreignField: "_id",
  41.         as: "meniId.Menu.jedId.Jedi"
  42.     }},
  43.     // sfiltriram glede na alergene
  44.     {"$unwind": "$meniId.Menu.jedId.Jedi"},
  45.     {"$lookup":
  46.       {
  47.         from: "Alergen",
  48.         localField: "meniId.Menu.jedId.Jedi.alergenId.tipId",
  49.         foreignField: "_id",
  50.         as: "meniId.Menu.jedId.Jedi.alergenId.tipId.Alergen"
  51.       }},
  52.       {"$match": {
  53.         "meniId.Menu.jedId.Jedi.alergenId.tipId.Alergen.naziv": {"$ne": "Gluten"}
  54.       }},
  55.  
  56.     {"$unwind": "$meniId.Menu.jedId.Jedi"},
  57.     {"$group": {
  58.     _id: "$_id",
  59.     rastavracija: {"$first": "$restavracijaId.Restavracija.ime"},
  60.     jed: { "$push": "$meniId.Menu.jedId.Jedi.naziv" }
  61.   }},
  62. ])
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top