Я пытаюсь обновить 3 вложенных элемента в таблице базы данных, моя лямбда работает нормально и не выдает никаких ошибок, но при запросе к таблице не отображаются новые значения, я не уверен, что я вызываю таблицуили правильно передавая аргументы
мой ключ / первичный ключ является badgeNumber
моя таблица DynamoDB выглядит следующим образом: (элементы, которые я пытаюсь обновить: date,hour,register
до yyy-mm-dd,hh-mm-ss and true
{
"assistance": [
{
"date": "null",
"hour": "null",
"register": false
}
],
"badgeNumber": "0000",
"data": {
"cardType": "elem",
"firstName": "Moriuks",
"imageURL": "url",
"lastName": "Mora",
"position": "Student"
}
}
условие для обновления элементов: если регистр = false
, то записать новые значения в таблицу.
мой код выглядит следующим образом pppp
var updateAsisstance = function(day,hour,id){
var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName:"someTable",
Key: { badgeNumber : 0000 },
UpdateExpression: "SET #asi[0].#reg = :locVal",
ExpressionAttributeNames: {
'#asi': 'asisstance',
'#reg': 'register',
},
ConditionExpression: "NE(#asi[0].#reg:true)",
ExpressionAttributeValues:{
":date":day,
":hour":hour,
":locVal":true
},
ReturnValues:"UPDATED_NEW"
};
docClient.update(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
};
после определения функции, я вызываю ее, используя
updateAssistance(day,hour,id)
ожидаемый результат должен выглядеть примерно так:
"assistance": [
{
"date": "yyyy-MM-DD",
"hour": "HH-MM-SS",
"register": true
}
],