from pymongo import MongoClient
# Privzet host in port
# client = MongoClient()
# ali eksplicitno
client = MongoClient('localhost', 27017)
print(client)
# Priklop v bazo (zbirko) test. Ustvari, ce ne obstaja.
db = client['test']
print(db)
db.collection_names()
# Ustvari zbirko in vstavi enega studenta
db.studenti.insert_one({"ime": "janko", "priimek": "novak"})
db.studenti.insert_one({"ime": "peter", "priimek": "klepec"})
db.studenti.insert_one({"ime": "janez", "priimek": "novak"})
# Brisi zbirko
db.studenti.drop()
for s in db.studenti.find():
print(s)
db.studenti.find_one({'priimek': "novak"})
list(db.studenti.find({'priimek': "novak"}))
list(db.studenti.find({'priimek': {"$ne": "novak"}}))
list(db.studenti.find({'priimek': {"$in": ["novak"]}}))
list(db.studenti.find({'priimek': {"$nin": ["novak","kovac"]}}))
list(db.studenti.find({'ime': {"$exists": 1}}))
list(db.studenti.find({'$or': [{'ime': 'janko'},{'ime': 'janez'}]}))
db.studenti.update_one({"ime": "janko"}, {'$set' : {'starost' : 25}})
db.doc.insert_one( { 'ime' : "Janko",
'priimek' : "Novak",
'knjige' : [
{ 'avtorjev' : 3, 'strani' : 100},
{ 'avtorjev' : 5, 'strani' : 50},
{ 'avtorjev' : 8, 'strani' : 400}
]
} )
db.doc.find_one()
import pymongo
db.studenti.create_index([('priimek', pymongo.ASCENDING)], unique=False)
db.jadralec.drop()
# Jadralci
db.jadralec.insert_one( {"jid": 22, "ime" : "Darko", "rating": 7, "starost":45.0} )
db.jadralec.insert_one( {"jid": 29, "ime" : "Borut", "rating": 1, "starost":33.0} )
db.jadralec.insert_one( {"jid": 31, "ime" : "Lojze", "rating": 8, "starost":55.5} )
db.jadralec.insert_one( {"jid": 32, "ime" : "Andrej", "rating": 8, "starost":25.5} )
db.jadralec.insert_one( {"jid": 58, "ime" : "Rajko", "rating": 10, "starost":35.0} )
db.jadralec.insert_one( {"jid": 64, "ime" : "Henrik", "rating": 7, "starost":35.0} )
db.jadralec.insert_one( {"jid": 71, "ime" : "Zdravko", "rating": 10, "starost":16.0} )
db.jadralec.insert_one( {"jid": 74, "ime" : "Henrik", "rating": 9, "starost":35.0} )
db.jadralec.insert_one( {"jid": 85, "ime" : "Anze", "rating": 3, "starost":25.5} )
db.jadralec.insert_one( {"jid": 95, "ime" : "Bine", "rating": 3, "starost":63.5} )
db.jadralec.create_index([('jid', pymongo.ASCENDING)], unique=True)
db.coln.drop()
db.coln.insert_one( {"cid": 101, "ime" : "Elan", "dolzina": 34, "barva": "modra"} )
db.coln.insert_one( {"cid": 102, "ime" : "Elan", "dolzina": 34, "barva": "rdeca"} )
db.coln.insert_one( {"cid": 103, "ime" : "Sun Odyssey", "dolzina": 37, "barva": "zelena"} )
db.coln.insert_one( {"cid": 104, "ime" : "Bavaria", "dolzina": 50, "barva": "rdeca"} )
db.coln.create_index([('cid', pymongo.ASCENDING)], unique=True)
db.rezervacija.drop()
db.rezervacija.insert_one( {"jid": 22, "cid" : 101, "dan": "2006-10-10" } )
db.rezervacija.insert_one( {"jid": 22, "cid" : 102, "dan": "2006-10-10" } )
db.rezervacija.insert_one( {"jid": 22, "cid" : 103, "dan": "2006-10-8" } )
db.rezervacija.insert_one( {"jid": 22, "cid" : 104, "dan": "2006-10-7" } )
db.rezervacija.insert_one( {"jid": 31, "cid" : 102, "dan": "2006-11-10" } )
db.rezervacija.insert_one( {"jid": 31, "cid" : 103, "dan": "2006-11-6" } )
db.rezervacija.insert_one( {"jid": 31, "cid" : 104, "dan": "2006-11-12" } )
db.rezervacija.insert_one( {"jid": 64, "cid" : 101, "dan": "2006-9-5" } )
db.rezervacija.insert_one( {"jid": 64, "cid" : 102, "dan": "2006-9-8" } )
db.rezervacija.insert_one( {"jid": 74, "cid" : 103, "dan": "2006-9-8" } )
db.rezervacija.create_index([('cid', pymongo.ASCENDING),
('jid', pymongo.ASCENDING),
('dan', pymongo.ASCENDING)],unique=True)
# STIK: Poišči vse Darkove rezervacije
darko = db.jadralec.find_one({"ime" : "Darko"})
rez = db.rezervacija.find( {"jid" : darko["jid"]} )
#for r in rez:
# print (r)
list(rez)
# Darko in njegove rezervacije
db.mdbjadralec.insert_one(
{"jid": 22, "ime" : "Darko", "rating": 7, "starost":45.0,
"rezervacija" : [
{"cid" : 101, "dan": "2006-10-10" },
{"cid" : 102, "dan": "2006-10-10" },
{"cid" : 103, "dan": "2006-10-8" },
{"cid" : 104, "dan": "2006-10-7" }
]
}
)
# Lojzetove rezervacije
db.mdbjadralec.insert_one(
{"jid": 31, "ime" : "Lojze", "rating": 8, "starost": 55.5,
"rezervacija" : [
{"cid" : 102, "dan": "2006-11-10" },
{"cid" : 103, "dan": "2006-11-6" },
{"cid" : 104, "dan": "2006-11-12" }
]
}
)
list(db.mdbjadralec.find())