У меня возникли некоторые проблемы с функцией Update Dynamodb. Я хочу обновить один или несколько раз в одном запросе, а не все сразу.
В теле запроса я не знаю точно, что будет установлено, поэтому я сделал переключение для параметра for для обновления по одному.
for (var key in request.body) {
switch (key) {
case "birthdate":
addToDynamo(request.body.uid, request.body.birthdate, "birthdate");
case "name":
addToDynamo(request.body.uid, request.body.name, "name");
case "gender":
addToDynamo(request.body.uid, request.body.gender, "gender");
case "location":
addToDynamo(request.body.uid, request.body.location, "location");
}
}
function addToDynamo(uid, value, name) {
var dynamoDb = new AWS.DynamoDB.DocumentClient();
var params = {
TableName:"Tood",
Key: {uid : uid},
UpdateExpression: "set #name = :value",
ExpressionAttributeNames: {
"#name": name
},
ExpressionAttributeValues:{
":value": value
},
ReturnValues:"UPDATED_NEW"
};
return dynamoDb.update(params).promise();
}
при тестировании ничего не было обновлено в таблице динамо. Но для примера, если я вернусь в случае с "датой рождения", вот так:
case "birthdate":
return addToDynamo(request.boby.uidm request.body.birthdate, "birthdate");
Это работает, но, очевидно, в другом случае нет. Поэтому я не знаю, как поступить, не сделав один запрос на один элемент. У кого-то есть проблема?