Files
fotkyBuzalkovi/trash/test_mongo.py
T
administrator 4d8888a598 notebookVb
2026-05-24 07:59:38 +02:00

59 lines
1.8 KiB
Python

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}")