cosmoguard-bd/old/_old/mongo_functions.py
2025-11-15 16:02:37 +01:00

37 lines
1.1 KiB
Python

from typing import Optional
from pymongo.mongo_client import MongoClient
from pymongo.server_api import ServerApi
from pymongo.database import Database
#region Funzioni generali connesse a MongoDB
# Funzione di connessione al database
def connect(user : str,password : str, database : str = "INCI") -> Database:
uri = f"mongodb+srv://{user}:{password}@ufs13.dsmvdrx.mongodb.net/?retryWrites=true&w=majority&appName=UFS13"
client = MongoClient(uri, server_api=ServerApi('1'))
db = client['toxinfo']
return db
#endregion
#region Funzioni di ricerca all'interno del mio DB
# Funzione di ricerca degli elementi estratti dal cosing
def value_search(db : Database,value:str,mode : Optional[str] = None) -> Optional[dict]:
if mode:
json = db.toxinfo.find_one({mode:value},{"_id":0})
if json:
return json
return None
else:
modes = ['commonName','inciName','casNo','ecNo','chemicalName','phEurName']
for el in modes:
json = db.toxinfo.find_one({el:value},{"_id":0})
if json:
return json
return None
#endregion