Я пытаюсь создать проект. Данные поступают из внешнего API. Это дает четыре поля из девяти полей. Когда я создаю документ с использованием внешних данных, коллекция получает четыре пары ключ-значение из API, а остальные пять сохраняются как нулевые. Проблема в том, что когда я хочу обновить проект, остальные пять полей, которые в настоящее время являются нулевыми в коллекции, показывают ошибку как pymon go .errors.OperationFailure: поле selected_employees должно быть массивом, но имеет тип null в документе {_id: ObjectId ('5e8752c2fac01beb99701ee9')}. Для этого я использую настройку fastapi + mongodb. Любые предложения о том, как это реализовать?
def updateProject(UpdateDetailsObj)
my_query = {"project_id": pid}
UpdateDetailsObj = UpdateDetailsObj.dict(exclude_unset=True)
UpdateDetailsObj = jsonable_encoder(UpdateDetailsObj)
if "allocated_employees" or "skillset" in UpdateDetailsObj:
updatedObj = db_connector.collection(Collections.PROJECTS).find_one_and_update(
my_query,
{
"$push": UpdateDetailsObj
},
projection={"_id": False},
return_document=ReturnDocument.AFTER
)
----------------------------------------creating project-------------------------------------
project_object = {
'project_id': project["project_id"],
'project_name': project["project_name"],
'assigned_pm': project["assigned_pm"],
'status': project["status"],
}
createProject(project_object)