Я пытаюсь добавить новую задачу в массив моих задач на DynamoDB, и я получаю эту ошибку: "message": "Предоставленное выражение относится к атрибуту, который не существует в элементе"
Мой объект в БД выглядит так:
{
"client_name": "New",
"information": {
"git_hub_url": "www.www.www",
"is_in_production": true,
"production_url": "www.www.www",
"project_manager": "Nicolás",
"tasks": [
{
"description": "Esta es una tarea de prueba",
"estimated_finish_date": "22-10-2020",
"name": "Tarea 1",
"owner": "Juanito Laguna",
"payment_status": "Pagado",
"payment_type": "Express",
"price": "$10000",
"priority": "5",
"start_date": "22-10-1993",
"type": "Backend"
},
{
"description": "Esta es una tarea de prueba (también)",
"estimated_finish_date": "22-10-2010",
"name": "Tarea 2",
"owner": "Juanito Perez",
"payment_status": "Pagado",
"payment_type": "Express",
"price": "$10000",
"priority": "4",
"start_Date": "22-10-1977",
"type": "Frontend"
}
]
},
"project_name": "testing_project"
}
И вот мой маршрут:
router.put('/:clientName/:projectName', (req, res) => {
const { clientName, projectName } = req.params;
const table = "Clients-Projects";
const params = {
TableName:table,
Key:{
"client_name": clientName,
"project_name": projectName
},
UpdateExpression: 'SET #tasks = list_append(#tasks, :newTask)',
ExpressionAttributeNames: {
'#tasks': 'information.tasks'
},
ExpressionAttributeValues: {
":newTask": [req.body.newTask]
},
ReturnValues:"UPDATED_NEW"
};
console.log(params.ExpressionAttributeNames)
docClient.update(params, (err, data) => {
if (err) {
console.error("Unable to update item. Error JSON:", JSON.stringify(err, null, 2));
} else {
res.status(200).json(data);
}
});
});
Я думаю, что моя ошибка в ExpressionAtributeName, но я не могу понять это (я новичок в DynamoDB).
Спасибо очень сильно !!!