Как добавить вложенные объекты в mongodb при использовании быстрого API? - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь добавить коллекцию с вложенными объектами в базу данных. Примитивные типы данных, такие как int, string, float, отлично работают при вставке документа. Но у меня возникают проблемы при вставке, который имеет пользовательский тип данных PastProjects. Любые предложения о том, как это реализовать?

class PastProjects(BaseModel):
    project: str
    worked_hours: int


class CurrentProjects(BaseModel):
    project: str
    allocation: List[int] = []


class Employee(BaseModel):
    employee_id: int
    company_id: str     # e-mail id
    employee_name: str
    designation: str
    skills: List[str] = None
    past_projects: List[PastProjects] = None
    current_projects: List[CurrentProjects] = None
    availability: List[int] = []
    is_allocated: bool

@app.post("/add-employee")
def create_employee(employee: Employee):
    collection.insert_one({
        "employee_id": employee.employee_id,
        "company_id": employee.company_id,
        "employee_name": employee.employee_name,
        "designation": employee.designation,
        "skills": employee.skills,
        # "past_projects": employee.past_projects,
        # "current_projects": employee.current_projects,
        "availability": employee.availability,
        "is_allocated": employee.is_allocated
    })
    collection.insert_one(dict(employee))
    return employee
...