notebookVb
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
from pymongo import MongoClient
|
||||
from pymongo.errors import ServerSelectionTimeoutError
|
||||
|
||||
try:
|
||||
client = MongoClient(
|
||||
"mongodb://192.168.1.76:27017/",
|
||||
serverSelectionTimeoutMS=5000,
|
||||
connectTimeoutMS=5000
|
||||
)
|
||||
|
||||
# Test pripojeni
|
||||
client.admin.command('ping')
|
||||
print("[OK] MongoDB pripojeni uspesne!")
|
||||
|
||||
# Zobraz info
|
||||
print(f"Server info: {client.server_info()}")
|
||||
|
||||
# Vytvor databazi
|
||||
db = client['fotky_buzalkovi']
|
||||
print(f"[OK] Databaze 'fotky_buzalkovi' vytvorena/existuje")
|
||||
|
||||
# Vytvor kolekce s validaci
|
||||
db.create_collection(
|
||||
"photos",
|
||||
validator={
|
||||
"$jsonSchema": {
|
||||
"bsonType": "object",
|
||||
"required": ["file_name", "file_path"],
|
||||
"properties": {
|
||||
"file_name": {"bsonType": "string"},
|
||||
"file_path": {"bsonType": "string"},
|
||||
"file_hash": {"bsonType": "string"},
|
||||
"camera": {"bsonType": "string"},
|
||||
"taken_at": {"bsonType": "date"},
|
||||
"width": {"bsonType": "int"},
|
||||
"height": {"bsonType": "int"},
|
||||
"file_size": {"bsonType": "int"},
|
||||
"exif": {"bsonType": "object"},
|
||||
"tags": {"bsonType": "array"}
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
print("[OK] Kolekce 'photos' vytvorena")
|
||||
|
||||
# Vytvor indexy
|
||||
db.photos.create_index("file_hash", unique=True)
|
||||
db.photos.create_index("taken_at")
|
||||
db.photos.create_index("camera")
|
||||
db.photos.create_index("tags")
|
||||
print("[OK] Indexy vytvoreny")
|
||||
|
||||
client.close()
|
||||
|
||||
except ServerSelectionTimeoutError as e:
|
||||
print(f"[ERROR] Timeout - MongoDB neni dostupny: {e}")
|
||||
except Exception as e:
|
||||
print(f"[ERROR] {e}")
|
||||
Reference in New Issue
Block a user