repository.py 596 B

1234567891011121314151617
  1. from pymongo import MongoClient
  2. from src.domain.models import PalmOilBunch
  3. class MongoPalmOilRepository:
  4. def __init__(self, uri: str, db_name: str):
  5. self.client = MongoClient(uri)
  6. self.collection = self.client[db_name]["ffb_records"]
  7. def save(self, bunch: PalmOilBunch):
  8. # Convert dataclass to dict for MongoDB
  9. doc = bunch.__dict__.copy()
  10. # Remove id if it's None to let Mongo generate it
  11. if doc.get('id') is None:
  12. doc.pop('id')
  13. result = self.collection.insert_one(doc)
  14. return str(result.inserted_id)